当前位置: 首页 > 知识库问答 >
问题:

swift生成qrcode[重复]

訾朗
2023-03-14

我试图生成一个qrcode,但它有错误

线程1:致命错误:在展开一个可选值时意外地找到nil

let myString = "ggigiuui"

let data = myString.data(using: .ascii, allowLossyConversion: false)
let filter = CIFilter(name: "CIQRCodeGenerator")
filter?.setValue(data, forKey: "inputMessage")

let img = UIImage(ciImage: (filter?.outputImage)!)

qponImage.image = img

共有1个答案

戴凯歌
2023-03-14

我已经使用了下面的代码,它工作得很好。其中self.imgqrcode是您希望在其上显示QR的imageview。

func generateQRCode(from string: String) -> UIImage?
    {
        let data = string.data(using: String.Encoding.ascii)

        if let filter = CIFilter(name: "CIQRCodeGenerator")
        {
            filter.setValue(data, forKey: "inputMessage")

            guard let qrImage = filter.outputImage else {return nil}
            let scaleX = self.imgQRCode.frame.size.width / qrImage.extent.size.width
            let scaleY = self.imgQRCode.frame.size.height / qrImage.extent.size.height
            let transform = CGAffineTransform(scaleX: scaleX, y: scaleY)

            if let output = filter.outputImage?.transformed(by: transform)
            {
                return UIImage(ciImage: output)
            }
        }
        return nil
    }
 类似资料:
  • 问题内容: 如何在Swift语言中不两次调用0到31之间的随机数? 问题答案: 您可以创建一个返回生成随机数闭包的函数,如下所示: 要使用它,首先调用生成器一次以创建随机序列生成器,然后根据需要多次调用返回值。这将打印出一到六个之间的随机值,并在重新开始之前遍历所有这些值:

  • jquery.qrcode.min.js在index中引用,但是在组件中无法使用是为什么?

  • 问题内容: 在我的iOS Swift应用程序中,我想生成随机UUID( GUID )字符串用作表键,此代码段 似乎 可以正常工作: 这样安全吗? 还是有更好的(推荐)方法? 问题答案: 试试这个: 迅捷3/4/5

  • 问题内容: 我需要生成一个随机数。 看来该功能已不复存在。 我的选择是, 和 。 我在函数上找不到任何文档,头文件中也没有注释。 问题答案: ===== Swift 4.2 / Xcode 10 ===== 斯威夫特在引擎盖下用来完成工作。 ===== Swift 4.1 / Xcode 9 ===== 返回 0* 到 4294967295之间 的随机数 * 返回 0.0* 到 1.0 范围内的随

  • 当我尝试运行“ php artisan key:generate ” 时,我在提示中收到以下错误错误屏幕截图实际上我正在不同的笔记本电脑上运行一个 laravel 项目。我在生成密钥时遇到此问题。我该如何解决?

  • Chrome-QRcode一个非常简单的chrome插件,用于将当前页面的URL地址转换成一个二维码。  一、安装方法  Chrome插件商店下载地址:https://chrome.google.com/webstore/detail/%E6%9E%81%E7%AE%80%E4%BA%8C%E7%BB%B4%E7%A0%81/bfpobnbhgondhofhkolbelkijdmgfjfm,请勿自