IKImageView不显示图片(可可雨燕)

时间:2018-10-04 18:07:37

标签: swift cocoa swift4 xcode10 ikimageview

我试图在IKImageView中显示来自文件url的图像,但它仅显示一个空框架。我的项目是在Xcode 10.0上的Cocoa Swift 4.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.
        }
    }

}

我做错了什么吗?还是缺少什​​么?我已经搜索了几个小时,但是我仍然没有在Swift中找到有关IKImageView的有用信息,或者它们已经过时,例如this

1 个答案:

答案 0 :(得分:1)

在上述@Willeke的评论中进行扩展,之所以不起作用,是因为该应用程序(默认情况下)已被沙箱化,并且无法访问磁盘上的随机文件。

如果遇到这样的问题,当尝试从磁盘加载映像时,NSImageIKImageView等将全部失败。

如果您尝试使用FileManagerData(contentsOf: url),那么您将开始看到真正的错误,这是权限异常。

关闭沙箱确实可以解决此问题,但是,如果您有兴趣学习如何授予访问权限以读取磁盘上的文件的权限,我就此主题撰写了详细的博客文章:

Troubleshooting AppKit File Permissions