在iPhone 6上未显示Retina 4 2x类型的资产目录图像

时间:2014-11-02 18:57:06

标签: ios iphone xcode6 iphone-6 asset-catalog

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

由于

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

我正在添加我选择的三种不同设置的屏幕截图,对于所有三种设置,结果是附加模拟器的屏幕截图

--------------- 模拟器的屏幕截图(iPhone 6): --------------- < / p>

Simulator

--------------- 设备屏幕截图包括568: --------------- < / p>

Device with 568

--------------- 设备屏幕截图包括667 ---------------

Device with 667

--------------- 使用通用设置的屏幕截图 --------------- Universal

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

--------------- 发射台的屏幕截图 ---------------- enter image description here

3 个答案:

答案 0 :(得分:3)

据我所知,您似乎希望以原始分辨率显示全屏图像。

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

我的应用程序是风景,我的背景图像填充整个屏幕的本机res我只是这样称呼:

[UIImage imageForDeviceWithName:@“myBackground”];

以下是“myBackground”的文件和分辨率列表(再次说明):

  • myBackground@2x.png == 960×640
  • myBackground-568h@2x.png == 1136×640
  • myBackground-667h@2x.png == 1334×750
  • myBackground@3x.png == 2208×1242
  • myBackground~ipad.png == 1024×768
  • myBackground@2x~ipad.png == 2048×1536

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

干杯!

答案 1 :(得分: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的图像
2x 640x960

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

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

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

答案 2 :(得分:0)

我认为这是资产目录中特定于设备的设置的已知问题。请改用通用设置(1x,2x和3x)。 iPhone 5,5s和6将全部使用2x,一切都会很好。