use*_*064 3 cocoa objective-c nsview nsimageview
我正在尝试在视图中放置图像.这是我的代码:
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];
Run Code Online (Sandbox Code Playgroud)
但窗口是空白的(图像不会被绘制).如果我在视图中放置一个文本字段,例如..它工作得很好,但不是NSImageView ...我检查了控制台,没有警告/错误消息......谢谢!
小智 9
由于[imView isValid]返回false,这意味着NSImage无法基于该文件创建图像.一个常见的原因是无法找到该文件.从文档中-initByReferencingFile:,
filename 完整或相对路径名,指定具有所需图像数据的文件.相对路径必须相对于当前工作目录.
这意味着行为-initByReferencingFile:取决于当前目录,理想情况下,您应该传递完整路径名.
更好的解决方案是使用,+imageNamed:因为有两个原因:它使用图像缓存,并且能够在应用程序包中查找文件.
| 归档时间: |
|
| 查看次数: |
3896 次 |
| 最近记录: |