gpt4 book ai didi

SwiftUI:多平台 iOS/MacOS 的图像

转载 作者:行者123 更新时间:2023-12-02 02:23:47 25 4
gpt4 key购买 nike

目标:多平台 iOS/MacOS 上的 SwiftUI 图像

问题:加载图像时我需要包装到 UIImage 中,并且它在 macOS 上不起作用

问题:加载多平台图像有何值(value)?

var body: some View {

Image(uiImage: UIImage(data: image ?? self.image)!)

}

最佳答案

添加仅适用于您的 macOS 目标的帮助程序文件,其中包括:

typealias UIImage = NSImage

extension Image {
init(uiImage: UIImage) {
self.init(nsImage: uiImage)
}
}

这种方法有一些限制,因为 UIImageNSImage 不共享所有相同的方法和初始化程序,但它适用于像这样的基本情况您在问题中提到 (init(data: ))

更安全的版本(如果您愿意重写一些 UIImage 初始化)可能是创建一个自定义类型,例如 MyImage,它在 macOS 上别名为 NSImage,在 iOS 上别名为 UIImage。这样,您至少会在代码中提醒您实际上并未在 macOS 上调用 UIImage

关于SwiftUI:多平台 iOS/MacOS 的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65998867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com