使用以下代码:

NSString *imageString = [[NSBundle mainBundle] pathForResource:@"logo64x64" ofType:@"png"];
NSImage *testImage = [[NSImage imageNamed:@"logo64X64"] retain];
NSImage *testImage2 = [[NSImage alloc] initWithContentsOfFile:imageString];
testImage为nil,但testImage2NSImage实例。我不知道代码有什么问题。我确定可以在 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/

10-11 15:45