1

我有一个问题正在吞噬我。我真的希望我只是在这里遗漏了一些小东西。这似乎是一个相当“n00b”的问题。

我有一个空白NSImageView,我想在按下按钮时显示一张图片——就这么简单。

这是我的编码行

NSBundle *mb = [NSBundle mainBundle];
NSString *fp = [mb pathForResource:@"tiles" ofType:@"PNG"];
NSImage *image = [[NSImage alloc] initWithContentsOfFile:fp];
if ( [image isValid] ) {
    [selection setImage:image];
    [selection setImageScaling:NSScaleProportionally];
}

然而,

tiles.PNG是我捆绑包中的资源

如果[image isValid]满意,因为我已经在子句中插入了虚拟代码并完成了这项工作

selection在我的头文件中定义如下

IBOutlet NSImageView *selection;

它还链接到 IB 中的应用程序委托。

我有一种感觉,我可能没有正确链接它?

为什么图像不显示?如果有人能看到错误 - 或为我提供工作代码 - 我会非常感激

布赖恩

4

4 回答 4

1

您需要使用调试器并查看它运行时发生的情况。fp 是零吗?图像为零吗?选择为零吗?调试器是你的朋友。

于 2009-12-03T14:40:23.703 回答
1

这不是链接问题——如果您未能链接到 Cocoa 或 AppKit,您的应用程序甚至都不会启动(假设它甚至链接成功)。

更有可能的是,您尚未将插座连接到笔尖中的图像视图,或者您尚未加载笔尖。检查这一点的方法是使用格式化程序检查指针NSLog的值。imageView%p

于 2009-11-29T23:40:15.380 回答
1

我有一个类似的问题,我的视图没有显示,结果是视图被隐藏了。这是 Interface Builder 中视图属性中的设置。只是一个平底船,但试一试。

于 2009-11-30T10:16:49.080 回答
-1

设置图像后,您还记得将 -setNeedsDisplay 发送到 NSImageView 吗?

于 2009-11-29T23:37:52.167 回答