当我这样命名图像时,我使用的是 XCode 5:
fbicon~ipad.png fbicon~ipad@2x.png
Xib 正在获取图像
但是当我使用这个约定时
虽然命名约定是 fbicon~ipad.png fbicon@2x~ipad.png
在这种情况下,xib 不会选择图像。
不知道为什么?
发生这种情况是因为您使用的是 XIB。与 XIB 一起使用时,要在 iPhone 上使用的图像必须使用约定“image~iphone”,而对于 iPad,您必须使用“image~ipad”。@2x 会根据需要的图像版本(视网膜/非视网膜)自动附加。这就是为什么第一个约定适合您的原因。
如果从代码中获取图像,例如,如果您有以下版本的“图像”-
image~iphone.png
image~ipad.png
image@2x~iphone.png
image@2x~ipad.png
你只要打电话——
[UIImage imageNamed:@"image"]
在这种情况下,您提到的第二个约定有效 - 如Apple文档中所述 - https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/LoadingResources/Introduction/Introduction.html 所以,没什么如我所见,这里错了。对于 XIB,第一个约定是正确的。对于与代码一起使用,第二个约定是正确的。