【问题标题】:NSImageView fails to setImage?NSImageView 设置图片失败?
【发布时间】:2011-02-02 19:57:49
【问题描述】:

我正在尝试创建一个简单的 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。还是什么都没有。

【问题讨论】:

  • 你能不能 NSLog(@"%@", image);检查这是否为空?
  • file 变量返回什么?

标签: cocoa nsimageview


【解决方案1】:

(此处为实际帐户)

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

【讨论】:

  • 能否请您详细说明一下?
  • 为什么这个东西还在 Xcode 10.1 中?我在 IB 中添加了 NSImageViews,但实际上并不能使用它们。因此,我最终以编程方式创建图像视图(带框架),在其上设置图像,然后将它们添加到底层子视图中。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    相关资源
    最近更新 更多