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

macOS - Programmatically display an image using 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)有一个有效的图像,我可以使用眼睛图标查看它。

我错过了什么?

您正在创建具有 帧的图像视图,首先创建图像,然后通过适当的大小创建视图。

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

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