【发布时间】:2020-07-01 05:13:31
【问题描述】:
我想把 Image 转换成 UIImage。 我正在单击相机中的图片并将其显示在 swiftUI 的图像上。 现在我想将该图像传递给普通的 UIViewController。
【问题讨论】:
-
请在this comment阅读。
-
图像是一个视图。您应该保留用于初始化 Image 的 UIImage 的引用
我想把 Image 转换成 UIImage。 我正在单击相机中的图片并将其显示在 swiftUI 的图像上。 现在我想将该图像传递给普通的 UIViewController。
【问题讨论】:
我建议您保留对从相机获取的图像的引用,然后将其传递给 UIViewController。
【讨论】:
您不能像这样将SwiftUI Image 转换为UIImage。但如果你愿意,你可以使用UIImage 的新初始化器UIImage(systemName:) 来获取任何新的SFSymbols。通常,您可以使用自己的初始化方法创建UIImage,就像它在SwiftUI 中创建到Image 中一样。例如:UIImage(named:) 或 UIImage(data:) 等。
【讨论】:
我建议您保留捕获的图像数据的引用,然后将其传递给第二个视图控制器,而不是将 Image 转换为 UIImage,这在 SwiftUI 中是不可能的。
在第二个 ViewController 中,您可以使用 UIImage 初始化器将 Image 数据转换为 UIImage。
例如:let image = UIImage(data:imageData) ?? UIImage()
【讨论】: