如何在 macOS Swift 中从文档目录加载图像?

4

我正在努力将一张图片加载到Image控件中。我正在开发一个MacOS应用程序,与iOS略有不同。

我已经在互联网上搜索了一些资料,但是只找到了几篇关于iOS如何实现的回答。

请检查以下代码:

import SwiftUI
struct ContentView: View {
    let myUrl = URL(fileURLWithPath: "/Users/codegrinder/Documents/turtlerock.jpg")
    init() {
        //TODO Do something with the myUrl which is valid (not nil)
    }
    var body: some View {
        Image("turtlerock")
            .frame(maxWidth: .infinity, maxHeight: .infinity, alignment:.center)
       //I need to put the param to Image what I want to load an image from myUrl

    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
1个回答

8

首先点击您的应用程序目标 > 签名和能力,然后按照以下图片中所示删除App沙盒:

enter image description here

现在您可以访问未位于应用程序包内的文件。

struct ContentView: View {
    let image = NSImage(contentsOf: URL(fileURLWithPath: "/Users/codegrinder/Documents/turtlerock.jpg"))!
    var body: some View {
        Image(nsImage: image)
            .frame(maxWidth: .infinity, maxHeight: .infinity, alignment:.center)
    }
}

2
它已经完美地运作了。我曾尝试使用NSImage,但我没有移除“App Sandbox”。谢谢。 - CodeGrinder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接