首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >如何在 SwiftUI 中显示二维码

如何在 SwiftUI 中显示二维码

作者头像
Swift社区
发布2022-04-04 15:34:26
发布2022-04-04 15:34:26
3.3K0
举报
文章被收录于专栏:Swift社区Swift社区

使用 CoreImage 生成二维码图像。

代码语言:javascript
复制
import SwiftUI
import CoreImage.CIFilterBuiltins
 
struct QRView: View {
    let qrCode: String
    @State private var image: UIImage?
 
    var body: some View {
        ZStack {
            if let image = image {
                Image(uiImage: image)
                    .resizable()
                    .interpolation(.none)
                    .frame(width: 210, height: 210)
            }
        }
        .onAppear {
            generateImage()
        }
    }
 
    private func generateImage() {
        guard image == nil else { return }
 
        let context = CIContext()
        let filter = CIFilter.qrCodeGenerator()
        filter.message = Data(qrCode.utf8)
 
        guard
            let outputImage = filter.outputImage,
            let cgImage = context.createCGImage(outputImage, from: outputImage.extent)
        else { return }
 
        self.image = UIImage(cgImage: cgimg)
    }
}

关于我们

Swift社区是由 Swift 爱好者共同维护的公益组织,我们在国内以微信公众号的运营为主,我们会分享以 Swift实战SwiftUlSwift基础为核心的技术内容,也整理收集优秀的学习资料。

特别感谢 Swift社区 编辑部的每一位编辑,感谢大家的辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言的发展贡献自己的力量,排名不分先后:张安宇@微软[1]戴铭@快手[2]展菲@ESP[3]倪瑶@Trip.com[4]杜鑫瑶@新浪[5]韦弦@Gwell[6]张浩@讯飞[7]张星宇@ByteDance[8]郭英东@便利蜂[9]

参考资料

[1]张安宇: https://blog.csdn.net/mobanchengshuang

[2]戴铭: https://ming1016.github.io

[3]展菲: https://github.com/fanbaoying

[4]倪瑶: https://github.com/niyaoyao

[5]杜鑫瑶: https://weibo.com/u/3878455011

[6]韦弦: https://www.jianshu.com/u/855d6ea2b3d1

[7]张浩: https://github.com/zhanghao19920218

[8]张星宇: https://github.com/bestswifter

[9]郭英东: https://github.com/EmingK

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Swift社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于我们
    • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档