2014-11-02 35 views
6

我使用的资产目录包含以下两种图像:2x,Retina 4 2x和3x。所有这些文件都用在正确的设备iPhone 4,4s => 2x,iPhone 5,5s => Retina 4 2x,iPhone 6+ => 3x,但iPhone 6使用2x而不是Retina 4 2x。 有没有人遇到过这个问题?Retina 4 2x的资产目录图像未在iPhone 6上展示

感谢

[编辑文本] 图像集是一般的图像,而不是一个启动画面。无论我是使用通用设备还是设备设置,无论选择2x Retina 4是1334还是1136,iPhone 6上显示的图像都是普通的2x。

我加入的三种不同的设置,我选择了屏幕截图和所有三个结果被附加的模拟器的屏幕截图

--------------- 模拟器(iPhone 6)的屏幕截图: ---------------

Simulator

--------------- 包含568的设备的屏幕截图: ---------------

与设备设置

Device with 568

--------------- 屏幕截图,包括667 ---------------

设置

Device with 667

--------------- 屏幕截图与通用 --------------- Universal

--------------- 设置的屏幕截图图像组的英格斯(设备设置& 667高度图像) --------------- enter image description here

--------------- 发射台 ---------------- enter image description here

+0

你能告诉你的资产目录的截图,你的问题是不非常清楚,它可能会有所帮助。 – Abizern 2014-11-02 18:59:46

+0

你是在谈论启动图像,应用程序图标还是一般图像? – rmaddy 2014-11-02 20:14:28

+0

我通过编辑原始问题回答了您的问题 – Shachar 2014-11-02 21:45:51

回答

0

的屏幕截图,我相信这是一个已知的问题,在资产目录中特定设备的设置。改用通用设置(1x,2x和3x)。 iPhone 5,5s和6将全部使用2x,一切都会很好。

+0

谢谢,但我也试过,但结果是一样的 – Shachar 2014-11-02 21:46:18

+0

让我问你:你还记得创建一个专用的iPhone 6启动图像(或使用启动图像XIB /故事板)?因为如果你不这样做,你的应用程序将在iPhone 6上被放大,并被视为这是一个不同的设备。 – matt 2014-11-08 18:56:32

+0

是的,我刚刚在原始消息 – Shachar 2014-11-08 20:21:16

3

从我可以告诉,它似乎你想显示在自然分辨率的全屏图像。

是的,我认为这可能是一个已知的问题。我不认为你可以用资产目录来做到这一点。最后我做这样的家伙在这里:https://stackoverflow.com/q/25892207/342756

我的应用程序是景观,MND我的背景图片填补了本地水库整个画面只需要调用是这样的:

[UIImage的imageForDeviceWithName:@“myBackground” ]。

这里是文件和决议,为 “myBackground”(再次横向)的列表:

我不再支持1x。这几乎涵盖了所有iOS 7和iOS 8设备。希望这可以帮助。

干杯!

+0

这个解决方案也适用于完全删除retina4资源的xcode7(为什么?有另一种方式)。它默认加载@ 2x图像匹配iphone4和4s而不是更高设备的图像。我指的是全屏图像,如背景(不启动图像) – pechar 2015-09-17 13:00:43

1

这适用于Xcode v7.3,并在运行iOS v9.3的iPhone 4s模拟器中验证。

为了避免结垢的问题,我做了以下内容:

在我Images.xcassets,我创建了两个图片集:
intro_screen
intro_screen_4

在intro_screen我包括下面的图像
1x 320x480
2x 750x1334
3x 1242x2208

在intro_screen_4我只包括了iPhone 4
2×640×960

在我的代码的图像,我做了以下内容:

int screenHeight = [ [ UIScreen mainScreen ] bounds ].size.height; 

if(screenHeight == 480) 
{ 
    image = [UIImage imageNamed:@"intro_screen_4" ]; 
} 
else { 
    image = [UIImage imageNamed:@"intro_screen" ]; 
} 
相关问题