将所有图像放入资源目录?

4
我在Xcode 5中开始了一个新项目。
1.这个 "Images.xcassets" 是什么鬼东西?我应该把用于我的应用程序的各种图像(如按钮图像和其他内容)放在那里,还是只放置 "AppIcon" 和 "LaunchImage"?
我看到我可以在 "Images.xcassets" 中创建一个新文件夹。我应该创建一个名为 "Button Icons" 或其他内容的文件夹,然后把它们扔进去吗?
但我只想向我的目标添加一些视网膜图像。我只支持iOS 7。所以,我不需要担心其他格式,如非视网膜。
他们为什么要把它弄得这么复杂,而且完全没有文档说明呢?为什么我需要这些额外的 "Contents.json" 文件?
看起来我可以取消选中(删除)目标中的 "Images.xcassets",但不能取消选中资产目录中的单个图像文件。
我能否按照旧方式做事情,还是会错过压缩/性能增强?
2.是否有一个设置,可以使我的应用程序将所有图像文件都视为视网膜图像,即使它们的文件名中没有 "@2x" 后缀?

使用“胡闹”一词点赞。请注意,我应该在交谈中更经常使用它。 - Levon
2个回答

11
  1. 在2013年的WWDC "Xcode 5有何新动态"中,演讲者说Image.xcassets“收集所有基于图像的资源,例如启动图、图标和你在项目中使用的松散图像”,将它们放在一个地方。

    "另外,Xcode了解新的iOS 7 API,因此甚至可以优化加载基于图像的资源"。只要将图像放在Image.xcassets(或另一个包含在目标中的资源目录)中,"它会自动为你执行"。

    因此,我建议你咬咬牙,适应或死亡。

  2. 我不知道。


0

iOS 7不支持仍然使用的视网膜设备,例如iPad mini和iPhone 3GS。请记住这一点。图像将缩小并仍然工作,但我想确保您知道iOS 7支持非视网膜设备。

当您按名称请求图像时,iOS将按名称查找图像。例如,“background.png”如果有一个视网膜图像“background@2x.png”,并且设备是视网膜,则iOS会为您处理。如果您只计划提供视网膜图像,则使所有图像都成为视网膜,并在图像名称中排除“@2x”信息是没有问题的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接