1

当我这样命名图像时,我使用的是 XCode 5:

fbicon~ipad.png fbicon~ipad@2x.png

Xib 正在获取图像

但是当我使用这个约定时

虽然命名约定是 fbicon~ipad.png fbicon@2x~ipad.png

在这种情况下,xib 不会选择图像。

不知道为什么?

4

2 回答 2

4

迁移以使用资产目录。您只需将图像拖到图像井中,界面构建器就会将它们拾取。

如果目录未显示 iPad iphone 特定的井,请打开属性右侧栏并勾选相应的框。

资产目录

于 2013-10-20T08:38:20.930 回答
4

发生这种情况是因为您使用的是 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,第一个约定是正确的。对于与代码一起使用,第二个约定是正确的。

于 2013-10-20T09:13:24.290 回答