首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode 6特定于设备的资产目录

Xcode 6特定于设备的资产目录
EN

Stack Overflow用户
提问于 2014-09-21 08:49:06
回答 5查看 8.8K关注 0票数 31

我正在尝试为新的6和6+设备更新我的应用程序。

我已经为新的iPhone尺寸(6和6+)添加了启动图像。资产目录中有6和6+的条目。这没问题。

我还有一些全屏视图覆盖图像,我也需要添加。我在@2x (iPhone 4s)和R4 (iPhone 5 5s 5c)中已经有了这些图片。我已经创建了新分辨率大小的图像,但我不确定如何将它们添加到图像集中。

当我进入资产目录时,我可以在图像集中选择特定于设备,我看到iPhone、retina-4和iPad的条目。有1x,2x,Retina 42x和3x的拖放井。

我的问题是,我应该把iPhone 6的图片放在哪里?很明显,3x是给6+的。我不明白为什么retina-4可以同时用于iPhone 5和iPhone 6,因为这两款手机的屏幕尺寸是不同的。

我遗漏了什么?

EN

回答 5

Stack Overflow用户

发布于 2014-10-04 12:37:08

我相当确定这是Xcode6中的一个错误。当您从资产目录图像集中加载图像时,无论您是在缩放模式还是标准显示模式下,您都将始终获得iPhone 6+的3x条目。对于iPhone 6,您将始终在两种模式下获得2x条目。对于iPhone 4s,您还将获得2x条目。

所有这些设备都有不同的缩放比例和纵横比,因此这对于像素精确的图像是不可接受的。我的图像都是全屏的,应该是覆盖的,所以我在缩放模式下看到了错误的位置。

我通过创建两个图像集解决了这个问题:

1)标准模式下的iPhone 6/6 6plus

代码语言:javascript
复制
  1242x2208 image in the 3x entry
代码语言:javascript
复制
   750x1334 in the 2x entry  

2) iPhone 6/6 6Plus,采用缩放模式或iPhone 5

代码语言:javascript
复制
  1125x2001 for the 3x entry
代码语言:javascript
复制
   640x1136 for the 2x entry
代码语言:javascript
复制
   640x1136 for the R4-2x entry  

为此,我需要确定该设备是否为新设备之一,以及它们是否处于缩放模式。根据这些信息,我从正确的图像集中加载图像。

这是我用来确定该设备是否是缩放/标准模式下的新设备的代码:

代码语言:javascript
复制
UIScreen *screen = [UIScreen mainScreen];
if (screen.scale == 3 && screen.currentMode.size.width == 1242 ||
    screen.scale == 2 && screen.currentMode.size.width == 750) {
    self.overlay = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"StdImageSet"]];
} else {
    self.overlay = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ZoomedImageSet"]];
}

这很难看,我讨厌不得不这样做,因为图像集应该消除这种代码。我没有看到更好的方法来解决这个问题,我已经提交了一个雷达(雷达18463463)错误。

票数 6
EN

Stack Overflow用户

发布于 2014-09-22 20:16:21

我发现这很有帮助:http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions

似乎iPhone 6将使用重新采样的@2x (iPhone 5)图像。此外,图像集的属性(实用程序窗格)允许您在“通用”(x1、x2、x3)和“特定于设备”的图像井之间切换。

票数 5
EN

Stack Overflow用户

发布于 2015-03-16 15:51:53

这真的很烦人。对于特定于设备的设置,我们都希望看到一个类似于LaunchImage Set的菜单,不同的屏幕大小对应不同的占位符。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25954706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档