Obj-C:为什么我的图像不能在NSImageView中显示?

时间:2015-02-25 10:09:39

标签: objective-c nsimageview

我有一个带有空NSImageView的文档窗口,我有一个连接到这个名为* imageView的插座。我也有财产:NSImage * image。

NSImageView几乎填满了整个窗口。

在windowControllerDidLoadNib中:我调用以下方法:

-(void)addImageToImageView {
  imageView = [[NSImageView alloc] init];
  imageView.image = image;
}

肯定有一个图像分配给imageView.image但它不显示。我想也许是因为我在加载窗口之前将图像添加到视图中但是窗口加载后不应该运行windowControllerDidLoadNib中的所有代码?

欢迎任何帮助!

1 个答案:

答案 0 :(得分:0)

好的:

不要分配init IBOutlets,这些是对IB实例化的对象的引用。简单地说.xib或.storyboard文件是以XML格式存储的信息,然后由您的应用程序自动取消归档(在引擎盖下)。因此,您永远不应该为init添加您在界面构建器中添加的对象。

您上面所做的是将变量*imageView从引用IB中的内容更改为不在屏幕上的新imageView实例。

你应该查看一些教程。 youtube上有一些非常好的搜索它们。