我正在尝试将图像放入 View 中。这是我的代码:

NSImageView *imView = [[NSImageView alloc] initWithFrame:NSMakeRect(0, 0, 480, 360)];
    NSImage *myImage = [[NSImage alloc] initByReferencingFile:@"image.png"];
    [imView setImage:myImage];
    [theView addSubview:imView];
    [window setContentView:theView];

但是窗口是空白的(图像没有被绘制)。例如,如果我在 View 中放置一个文本字段......它可以完美运行,但不是 NSImageView......我检查了控制台并且没有警告/错误消息......
谢谢!

最佳答案

由于 [imView isValid] 返回 false,这意味着 NSImage 无法基于该文件创建图像。一个常见的原因是找不到文件。从 -initByReferencingFile: 的文档中,



这意味着 -initByReferencingFile: 的行为取决于当前目录,理想情况下您应该传递完整路径名。

更好的解决方案是使用 +imageNamed: 代替,原因有两个:它使用图像缓存,并且能够在应用程序包中查找文件。

关于objective-c - NSImageView 不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5616864/

10-10 20:36