SwiftUI:UIImage(QRCode)在调用函数后未加载[重复]

2024-03-24

我花了很多时间试图诊断这个问题,但我完全陷入困境,也许我错过了一些非常明显的东西。

已经尝试过:

  • 将返回的图像保存到磁盘以查看它是否正在生成 正确地(它是)
  • 添加彩色背景会呈现一个正方形,因此正在加载某些内容
  • 将图像标记为.renderingMode(.original)
  • Using @State var img = UIImage()并重新分配 使用Image(uiImage:img).onAppear { self.img = self.generateQRCode(from: self.qrCodeString)! }

任何帮助将不胜感激!

import SwiftUI

struct ContentView: View {

    let qrCodeString = "BEGIN:VCARD \n" +
    "VERSION:2.1 \n" +
    "FN:John Peter \n" +
    "N:Peter;John \n" +
    "TITLE:Admin \n" +
    "TEL;CELL:+91 431 524 2345 \n" +
    "TEL;WORK;VOICE:+91 436 542 8374 \n" +
    "EMAIL;WORK;INTERNET:[email protected] /cdn-cgi/l/email-protection \n" +
    "URL:www.facebook.com \n" +
    "URL: www.instagram.com \n" +
    "ADR;WORK:;;423 ofce sales Center;Newark;DE;3243;USA \n" +
    "ORG:xxx Private limited \n" +
    "END:VCARD"

    var body: some View {
        Image(uiImage: generateQRCode(from: qrCodeString)!)
    }

    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")
            let transform = CGAffineTransform(scaleX: 3, y: 3)

            if let output = filter.outputImage?.transformed(by: transform) {

            return UIImage(ciImage: output)
            }
        }
        return nil
    }
}

这似乎可以解决问题:

func generateQRCode(from string: String) -> UIImage? {

    let data = string.data(using: String.Encoding.ascii)
    var uiImage: UIImage?
    if let filter = CIFilter(name: "CIQRCodeGenerator",
                             parameters: ["inputMessage": data,
                                          "inputCorrectionLevel": "L"]) {

        if let outputImage = filter.outputImage,
            let cgImage = CIContext().createCGImage(outputImage,
                                                    from: outputImage.extent) {
            let size = CGSize(width: outputImage.extent.width * 3.0,
                              height: outputImage.extent.height * 3.0)
            UIGraphicsBeginImageContext(size)
            if let context = UIGraphicsGetCurrentContext() {
                context.interpolationQuality = .none
                context.draw(cgImage,
                             in: CGRect(origin: .zero,
                                        size: size))
                uiImage = UIGraphicsGetImageFromCurrentImageContext()
            }
            UIGraphicsEndImageContext()
        }
    }
    return uiImage
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SwiftUI:UIImage(QRCode)在调用函数后未加载[重复] 的相关文章

  • Swift 错误:无法从 AST 上下文获取模块“My_App”

    我正在使用 Swift 3 Xcode 8 1 CocoaPods 1 1 1 运行后pod update 每次我尝试使用 Xcode 的 lldb 控制台时 它都会打印错误 例如 po self输出 共享 Swift 状态My App已出
  • 动态高度 UITableViewCell 内的动态高度 UICollectionView

    我有一个水平的UICollectionView固定到 a 的所有边缘UITableViewCell 集合视图中的项目是动态调整大小的 我想让表视图的高度等于最高集合视图单元格的高度 视图的结构如下 UI表格视图 UITableViewCel
  • 快速布尔运算

    这实在令人困惑 有人有什么想法吗 let viewHasMovedToRight false initially I want this to be false then func moveViewToRight sender UIButt
  • Swift Firebase - 如何在使用 queryOrdered(byChild: ).queryEqual(toValue: ) 时获取所有 k/v

    root reviews postABC postId reviewXYZ I want everything under this reviewUID buyerUID 01010 text fast shipping responseT
  • Carthage 更新错误:“GitHub API 请求失败:凭据错误”

    这是我的购物车文件 Kanna HTML parsing library github tid kijyun Kanna gt 1 0 0 Realm database ORM github realm realm cocoa 当我跑步时c
  • 从 AVAudioRecorder 获取分贝

    我正在尝试从 AVAudio 录音机获取分贝值 这是我目前的代码 我有一个启动录音机的方法 然后是一个读取分贝值的方法 var recorder AVAudioRecorder 全局定义的记录器 然后在此处使用 func init reco
  • ExpandableLabel iOS 中的“少看”

    我正在使用第三方库可扩展标签 https github com apploft ExpandableLabel实施一个see more特征 我正在寻找仅快速的解决方案 其中包含标签中的文本而不是按钮中的文本 因此这可以完美地工作 添加库并更
  • Audiokit 修剪音频

    我正在制作音频编辑应用程序 我想修剪我的音频 对于音频编辑 我使用 AudioKit 框架 但我在教程和示例中找不到如何使用此框架修剪音频 异步导出允许设置开始和结束样本 https github com AudioKit AudioKit
  • Swift - 将图像插入 PDF 不再适用于 iOS 13

    目前正在开发在我的贷款计算器应用程序上导出 PDF 的功能 我有一个预览屏幕 可以在您保存 PDF 之前显示它 预览屏幕由带有 html 的 webView 组成 其中包含占位符 我能够成功地将图像插入到正确的占位符上 并将其显示在 PDF
  • IOS 上图像的加密/解密

    我们正在使用加密 解密和 UIIMAGE 如果我们加密和解密 UIIMAge 而不保存到 iphone 画廊中 它工作正常 但如果我们加密 保存到画廊中 将 加密的图像 加载到应用程序中 然后解密它效果不好 我们使用这个函数来加密 解密 保
  • SwiftUI - 从 NSObject 继承的 ObservableObject 在 iOS 13 中不会更新

    我知道 这是 无法在 iOS XX 中工作 问题之一 但我完全陷入困境 所以我有一个ObservableObject继承自的类NSObject 因为我需要听委托方法UISearchResultsUpdating class SearchBa
  • UIApplication.shared.delegate 相当于 SceneDelegate xcode11?

    我在 SceneDelegate 中定义了一个 let 属性 我希望一些 ViewController 能够在场景中访问它 在 UIKit 中 我可以像这样访问 App Delegate 属性 UIApplication shared de
  • 未捕获的 Kotlin 异常:kotlin.native.In CorrectDereferenceException:非法尝试访问非共享

    我尝试使用 Kotlin MPP Multiplatform 开发 Android 和 iOS 之间的共享库 但我面临着 iOS 中线程的问题 对于我在 iOS 中的应用程序 我在主线程中建立了对象 但它可能调用其他线程中的函数并抛出此异常
  • Swift 中的 quitFirstResponder

    我怎样才能用Apple的新语言实现它 Objective C 代码 void touchesBegan NSSet touches withEvent UIEvent event for UIView view in self view s
  • 在 Swift 中使用 commitEditingStyle 动态删除 UITable 部分

    我正在处理一个无法解决的问题 我有一个来自客户数据库数组的名称表 每个客户在其他数据成员中都有一个名称属性 我可以成功删除某个部分中的行 但我不能删除该部分 当该部分中的最后一行被删除时 该部分必须消失 I got NSInternalIn
  • Swift 包管理器:“多个目标名为...”

    我正在尝试构建一个服务器端 Swift Web 应用程序 我的应用程序的基础框架将是Kitura https www kitura io来自IBM 此外 我还想利用AWS SDK Swift https github com noppoMa
  • 在 Swift 中将动态 Int 变量从一个类传递到另一个类

    我是 swift 2 的新手 我陷入了将变量从一个类传递到另一个类的过程中 我有一个类 GameScene 我有一个公共变量score并且在更新功能中不断更新 我想发送score两个节点相互碰撞时的值 一旦它发生碰撞 我就会使用 mainv
  • 如何从 Firebase 同步检索数据?

    我有两个集合 即用户和问题 根据使用 userId 登录的用户 我检索currQuestion价值来自users收藏 基于currQuestion值 我需要检索question来自 Firebase 的文档Questions收藏 我使用下面
  • 如何在 Swift 中创建 UIAlertView?

    我一直在努力在 Swift 中创建 UIAlertView 但由于某种原因我无法得到正确的语句 因为我收到此错误 找不到接受提供的 init 重载 论点 我是这样写的 let button2Alert UIAlertView UIAlert
  • let/var 如何解决可变性? [复制]

    这个问题在这里已经有答案了 我没有任何问题 我只是想对有关可变性的问题进行一些澄清 在 Objective C 中我们会使用例如NSMutableArray得到一个可变数组和NSArray得到一个不可变的 我对两者的内部运作了解不多 但据我

随机推荐