3

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

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

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

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

4

2 回答 2

4

(此处为实际帐户)

所以事实证明 setImage 不适用于在 IB 中明确构建的 NSImageView,如果你明白我的意思的话。我创建了一个 NSView 子类,它在其中构造一个 NSImageView 并调用 setImage,效果很好。真烦人。

于 2011-02-05T10:55:08.420 回答
1

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

于 2011-02-02T21:06:31.113 回答