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

时间:2013-09-25 06:00:46

标签: ios xcode image resources asset-catalog

我在Xcode 5中开始了一个新项目。

  1. 这是什么Images.xcassets恶作剧?

    我是否应该将我正在使用的各种图像(例如按钮图像和内容)放在那里,或者只放置AppIcon& LaunchImage

    我看到我可以在Images.xcassets中创建一个新文件夹。我应该创建一个名为“按钮图标”的文件夹,或者只是把它们放在那里吗?

    请参阅,但我只是想为目标添加一些视网膜图像。

    我只支持iOS 7.所以,我不需要担心非视网膜等其他格式。

    为什么他们这么复杂而根本没有记录呢?为什么我需要这些额外的Contents.json个文件?

    看起来我可以从目标中取消选中(删除)Images.xcassets,但不能取消资产目录中的单个图像文件。

    我可以用旧方法做事,还是会错过压缩/性能增强?

  2. 我可以设置一个设置,以便我的应用将所有图像文件视为视网膜图像,即使它们的文件名中没有@2x后缀吗?

2 个答案:

答案 0 :(得分:11)

  1. 在“Xcode 5中的新功能”WWDC 2013会话视频中,发言人说Image.xcassets“收集所有基于图像的资源,例如您的启动图像,图标,松散您在项目中使用的图像,一起放在一个地方。“

    “此外,Xcode了解新的iOS 7 API,因此甚至可以优化基于图像的资源的加载。”只要您将图像放在Image.xcassets(或目标中包含的其他资产目录)中,我就假设“它会自动为您完成”。

    所以,我建议你吮吸它,适应或死亡。

  2. 我不知道。

答案 1 :(得分:0)

iOS 7仍然不支持视网膜设备,如iPad mini和iPhone 3GS。记在脑子里。图像将缩小并仍然有效,但我想确保您知道iOS 7不支持视网膜设备。

当您按名称要求提供图像时,iOS将按名称查找图像。例如," background.png"如果有视网膜图像" background@2x.png"设备是视网膜iOS将为您处理。如果您只打算提供视网膜图像,那么将图像全部视网膜排除并排除" @ 2x"图片中的信息。名。