NSImageView无法setImage?

时间:2011-02-02 19:57:50

标签: cocoa nsimageview

我正在尝试创建一个只从磁盘加载图像的简单ImageView,但这不起作用(我把它放在我的applicationDidFinishLoading中):

NSString *file = [@"~/update.png" stringByStandardizingPath];
NSImage *image = [[NSImage alloc] initWithContentsOfFile:file];
[wView setImage:image];

显然没有设置NSImageView的图像,因为如果我NSLog [wView图像],我得到(null)。我很确定我在这里犯了一个初学者的错误,但是什么?

文件和图片加载正常;如果我将图像绘制到NSView它显示正常。 wView不是nil,我尝试用默认窗口的视图创建另一个项目,一个自定义的NSImageView子类,其initWithFrame:调用setImage。仍然没有。

2 个答案:

答案 0 :(得分:4)

(OP带有实际账户)

事实证明,如果你理解我的意思,setImage不能在IB中明确构造的NSImageView上运行。我创建了一个NSView子类,在其中构造一个NSImageView并调用setImage,并且工作正常。真烦人。

答案 1 :(得分:1)

最有可能的是,wView为零。最常见的原因是,在一个与视图连接的nib中实例化的类也会在代码中第二次实例化。