【问题标题】:iOS 7 retina and normal image naming conventioniOS 7 视网膜和普通图像命名约定
【发布时间】:2014-03-28 22:58:54
【问题描述】:

我正在使用 Xcode 5 并开发一个具有部署目标“7.0”的应用程序,所以我需要同时添加普通图像和视网膜图像......或者我可以使用双分辨率的普通图像命名约定( Retina 图像)。我的意思是我们可以避免所有仅针对 Retina 设备的应用程序的文件名中的“@2x”。

例如: 假设我的背景图片以 640x960 的分辨率命名,那么我应该使用“bg.png”还是“bg@2x.png”?

仅供参考:我不想包含正常分辨率的图像,因为我不针对任何非视网膜设备

任何帮助将不胜感激,在此先感谢!

【问题讨论】:

  • iPad2 运行在 iOS7 上,不是 Retina。所以我想你应该尊重那些将在他们的 iPad2 上安装你的应用程序(即使是 iPhone 应用程序)的人的命名约定。
  • 感谢您的回答迈克尔并指出有效点!我还想知道我是否使用带有“@2x”约定的 Retina 图像,而不是在 iPad 2 上运行时将其缩小到正常分辨率?
  • 这是个好问题!由于我不知道答案,我删除了一个非视网膜参考,清理项目,删除应用程序并再次运行它:图像是可见的,所以视网膜图像一定是按比例缩小的。您可以使用 Ipad Non-Retina 模拟器对其进行测试。
  • 考虑使用Asset Catalogstackoverflow.com/questions/18780476/…

标签: ios iphone objective-c ios7 xcode5


【解决方案1】:

如果您的应用不支持 iPhone 5 和 5s、5c 设备,则应用被拒绝。因为这些设备内置于 Retina 中,并且即将推出的 iPhone 型号设备都配备了 Retina 显示屏。

所以定位到所有 iPhone 设备尺寸

使用图像名称@2x 自动检测到视网膜设备。所以你必须在你的图片名称字符串中使用@2x.png

如果您需要支持标准分辨率的 iPhone 或 iPod touch 设备,请将下面列出的高分辨率尺寸除以 2。

https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/IconMatrix.html#//apple_ref/doc/uid/TP40006556-CH27-SW1

【讨论】:

  • 感谢您的回答 iDev!但是您能否提供您对以下内容的看法:如果我使用带有“@2x”约定的 Retina 图像,在 iPad 2 上运行时它会缩小到正常分辨率吗?
【解决方案2】:

如果您的部署目标仅为"7.0",则无需同时添加两个图像,只需添加名称为"bg@2x.png" 的视网膜图像即可这里 "@2x" 是必须的,因为视网膜设备只能识别以 "@2x" 结尾的图像。

【讨论】:

    【解决方案3】:

    使用xcassets 可以非常有助于为不同的屏幕尺寸制作图像集。您应该制作新的图像集并选择您想要支持的屏幕尺寸。见图片:https://www.dropbox.com/s/x9dowakx4n8x58i/Screenshot%202014-02-26%2009.47.17.png。 在那里,您可以将适当的资产拖放到 1x2xR4 字段中。

    我认为你应该成为“一个好公民”并支持更小的屏幕尺寸(就像@Michaël Azevedo 所说的那样)。

    【讨论】:

      【解决方案4】:

      您最好使用普通图像名称为 bg.png 和视网膜图像名称为 bg@2x.png。因为非视网膜设备也可以更新到 iOS 7.0 及更高版本

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多