我正在尝试将图像放入视图中。这是我的代码:
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];但是窗口是空白的(图像不会被绘制)。例如,如果我在视图中放置一个文本字段..它工作得很好,但不是NSImageView...我检查了控制台,没有警告/错误消息...谢谢!
发布于 2011-04-11 13:11:28
由于[imView isValid]返回false,这意味着NSImage无法基于该文件创建映像。一个常见的原因是找不到文件。从-initByReferencingFile:的文档中,
文件名指定包含所需图像数据的文件的完整或相对路径名。相对路径必须是相对于当前工作目录的。
这意味着-initByReferencingFile:的行为取决于当前目录,理想情况下您应该传递完整的路径名。
更好的解决方案是使用+imageNamed:,因为有两个原因:它使用图像缓存,并且能够在应用程序包中查找文件。
https://stackoverflow.com/questions/5616864
复制相似问题