无法使用NSImage(byReferencingFile:)从文件加载NSImageView图像

时间:2019-03-29 09:57:37

标签: swift xcode macos nsimage nsimageview

当我想使用NSImageView将光盘( /Users/me/Desktop/image.png )中的图像设置为NSImage(byReferencingFile: )的图像时,它会执行不显示它。

当我尝试NSImage(named: )使用存储在资产文件夹中的图像时,它会起作用。

viewController中的代码

class ViewController: NSViewController {
    @IBOutlet var imageView: NSImageView!
    override func viewDidLoad() {
        super.viewDidLoad()
        imageView.image = NSImage(byReferencingFile: "/Users/me/Desktop/image.png")
    }    
}

imageView 会填满整个窗口。

所以我想加载存储在磁盘或指定URL上的图像。

3 个答案:

答案 0 :(得分:0)

要使用UserDir,您必须使用:

let home = FileManager.default.homeDirectoryForCurrentUser

然后从那里可以将路径添加到图像 这是有关使用文件系统的教程 https://www.raywenderlich.com/666-filemanager-class-tutorial-for-macos-getting-started-with-the-file-system

希望这会有所帮助。

答案 1 :(得分:0)

Willeke帮助我找到了解决方案。我必须将权利文件中的App SandboxYES切换到NO

答案 2 :(得分:-1)

您不能从桌面将图像添加到UIimageView,只能将图像(拖动)添加到项目文件夹中,然后在UIimageView属性(检查器)中选择名称图像。