使用以下代码:
NSString *imageString = [[NSBundle mainBundle] pathForResource:@"logo64x64" ofType:@"png"];
NSImage *testImage = [[NSImage imageNamed:@"logo64X64"] retain];
NSImage *testImage2 = [[NSImage alloc] initWithContentsOfFile:imageString];
testImage
为nil,但testImage2
是NSImage
实例。我不知道代码有什么问题。我确定可以在 bundle 软件的资源目录中找到logo64x64.png
和[email protected]
。我也尝试过imageNamed:@"logo64X64.png"
,但仍然没有成功。有人可以帮忙吗?
最佳答案
尝试
[NSImage imageNamed:@"logo64x64"];
而不是
[NSImage imageNamed:@"logo64X64"];
请注意,在成功的代码中,您使用了小写的
x
,而在失败的代码中,您使用了大写的X
(logo64X64
)。即使基础HFS +文件系统仅保留大小写,NSBundle
还是区分大小写的。 (NSImage
的+imageNamed:
方法使用NSBundle
定位资源)。关于objective-c - 我无法使用imageNamed创建intWithContentsOfFile的NSImage,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15221609/