我试图在IKImageView中显示来自文件url的图像,但它只显示一个空帧。我的项目是Xcode 10.0上的CocoaSWIFT4.2 MacOS。
我的代码:
class ViewController: NSViewController {
@IBOutlet weak var imagePreView: IKImageView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
imagePreView.wantsLayer = true
imagePreView.setImageWith(URL(fileURLWithPath: "My_file_URL"))
imagePreView.isHidden = false
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
}我是做错什么了还是遗漏了什么?我已经搜索了几个小时,但我仍然没有发现任何有用的关于IKImageView的Swift,或者他们都过时了,就像这。
发布于 2019-10-24 15:45:18
扩展到上面@Willeke的评论,原因是这个应用程序(默认情况下)是沙箱化的,无法访问磁盘上的随机文件。
如果遇到这样的问题,当尝试从磁盘加载映像时,NSImage、IKImageView等都会默默地失败。
如果您尝试使用FileManager或Data(contentsOf: url),那么您将开始看到真正的错误,这是权限异常。
关闭沙箱确实解决了这个问题,但是如果您对如何授予磁盘上读取文件的访问权限感兴趣,我写了一篇关于这个主题的详细博客文章:
https://stackoverflow.com/questions/52652955
复制相似问题