2

使用以下代码:

NSString *imageString = [[NSBundle mainBundle] pathForResource:@"logo64x64" ofType:@"png"];
NSImage *testImage = [[NSImage imageNamed:@"logo64X64"] retain];
NSImage *testImage2 = [[NSImage alloc] initWithContentsOfFile:imageString];

testImage是 nil 但是testImage2一个NSImage实例。我不知道代码有什么问题。我确定我可以在包的资源目录中找到logo64x64.pnglogo64x64@2x.png。我也尝试过imageNamed:@"logo64X64.png",但仍然为零。

任何人都可以帮忙吗?

4

1 回答 1

10

尝试

[NSImage imageNamed:@"logo64x64"];

而不是

[NSImage imageNamed:@"logo64X64"];

请注意,在成功的代码中,您使用了小写字母x,而在失败的代码中,您使用了大写字母X( logo64X64)。NSBundle是区分大小写的,即使底层 HFS+ 文件系统只保留大小写。(NSImage+imageNamed:方法用于NSBundle定位资源)。

于 2013-03-05T10:43:07.733 回答