Swift:如何以编程方式将图片加载到窗口中?

时间:2016-06-26 13:28:59

标签: swift image macos cocoa

我尝试使用以下代码:

@IBOutlet weak var window: NSWindow!! //I don't understand this line

    let imageView = NSImageView()
    imageView.image = NSImage(byReferencingURL: IMAGE)
    window.contentView?.addSubview(imageView)

我没有编译和运行时错误,NSImage似乎正确加载了图片。 - 但不幸的是,它并没有出现在我的窗口中。

修改: 要设置的框架属性帽。以下代码将图片置于窗口中心:

let imageView = NSImageView()
let image = NSImage(byReferencingURL: IMAGE_URL)
imageView.image = image
imageView.frame = self.window.contentView!.bounds
imageView.autoresizingMask = [.ViewWidthSizable, .ViewHeightSizable]                                
self.window.contentView?.addSubview(imageView)

1 个答案:

答案 0 :(得分:0)

要以编程方式将图像视图添加到窗口,您需要使用NSImageView对象并设置图像属性。下面我创建了一个简单的功能,您可以将其放在窗口的视图控制器中。此外,您应该设置其他NSImageView属性(例如frame)以获得所需的结果。

func loadImageView() {
    /* Create an image view */
    let imageView = NSImageView()
    /* Set image property and replace name with your image file's name */
    imageView.image = NSImage(named: "YOUR_IMAGE_FILE_NAME_HERE")

    /* Add the new imageView to the main view */
    self.view.addSubview(imageView)
}