相关疑难解决方法(0)

从 UIImage 转换为 SwiftUI Image 会产生相同大小的空白图像

我正在尝试使用init(uiImage:)初始值设定项将UIImage转换为SwiftUI Image。我的 UIImage 本身是从 CIQRCodeGenerator CIFilter 生成的 CIImage 创建的。我在 Xcode 11.1 GM 种子 1 的 Playground 上运行我的代码。这是我的全部代码:

import SwiftUI
import UIKit

func qrCodeImage(for string: String) -> Image? {
  let data = string.data(using: String.Encoding.utf8)
  guard let qrFilter = CIFilter(name: "CIQRCodeGenerator") else { return nil }
  qrFilter.setValue(data, forKey: "inputMessage")

  guard let ciImage = qrFilter.outputImage else { return nil }
  let uiImage = UIImage(ciImage: ciImage)
  let image = Image(uiImage: uiImage)

  return image
}

let image = qrCodeImage(for: "fdsa") …
Run Code Online (Sandbox Code Playgroud)

uikit swiftui

8
推荐指数
2
解决办法
4268
查看次数

SwiftUI:调用函数后未加载 UIImage (QRCode)

我花了很多时间试图诊断这个问题,但我完全被卡住了,也许我遗漏了一些非常明显的东西。

已经尝试过:

  • 将返回的图像保存到磁盘以查看它是否被正确生成(它是)
  • 添加彩色背景会呈现一个正方形,因此正在加载某些内容
  • 标记图像 .renderingMode(.original)
  • 使用@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:John@ommail.in \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" …
Run Code Online (Sandbox Code Playgroud)

uiimage swift swiftui

3
推荐指数
1
解决办法
273
查看次数

标签 统计

swiftui ×2

swift ×1

uiimage ×1

uikit ×1