【问题标题】:Naming Convention For Images in XCode 5XCode 5 中图像的命名约定
【发布时间】:2013-10-20 08:35:20
【问题描述】:

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

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

Xib 正在获取图像

但是当我使用这个约定时

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

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

不知道为什么?

【问题讨论】:

  • 您有问题吗?
  • 我无法使用传统命名约定为 ipad 添加图像。您对 xcode 5 有任何想法吗?
  • 你运行过这个应用吗?
  • 如果我使用正确的命名约定,Xib 不会为 ipad 挑选图像。

标签: ios ipad


【解决方案1】:

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

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

assets catalogue

【讨论】:

  • 感谢您的精彩提示!使用设备特定资产时,是否仍然需要或建议使用 @2x、~iphone 和 ~ipad 修饰符作为文件名?第二个问题:修饰符是~iphone 和~ipad,还是-iphone 和-ipad?
  • 您不必,不,但如果您这样做,它会使导入资产目录更容易。
【解决方案2】:

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

【讨论】:

  • 你应该在 imageNamed 中添加扩展名:[UIImage imageNamed:@"image.png"]
  • @Francescu 这对 iOS 来说不是必需的>=4.0。请参阅以下 Apple 文档:developer.apple.com/library/ios/documentation/uikit/reference/…:
  • 这是因为我说你不应该你必须。为了便于阅读,我认为最佳做法是指定扩展名(您在答案中提供的链接中的事件 Apple 指定了 .PNG)。但这是一个开发者的选择,我同意并支持你的回答:)
猜你喜欢
  • 1970-01-01
  • 2014-11-27
  • 1970-01-01
  • 1970-01-01
  • 2020-02-02
  • 2017-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多