macOS - 使用NSImageView以编程方式显示图像

时间:2017-10-13 12:24:23

标签: swift macos nsimageview

使用面向macOS平台的Swift应用程序,我尝试以编程方式创建NSImageView对象,为其分配图像,然后使用以下方式显示它:

let imageViewObject = NSImageView();
let img = NSImage(cgImage: winCGImage, size: NSZeroSize);
imageViewObject.image = img
self.window.contentView?.addSubview(imageViewObject)

但是,运行时没有显示图像。 在调试器上,我可以看到imageViewObject.image(即img)具有有效图像,我可以使用眼睛图标查看它。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

您正在使用框架创建图像视图,首先创建图像,然后传递适当大小的视图。

let img = NSImage(cgImage: winCGImage, size: NSZeroSize)
let imageViewObject = NSImageView(frame: NSRect(origin: .zero, size: img.size))
imageViewObject.image = img

避免使用默认初始化程序()创建视图。