1

正如标题所说,我仍然对理解 image.xcassets 如何处理 iPhone 5/6 图像感到困惑。让我更好地解释一下:

例子

这是我MENU_EMPTY_LIST在 image.xcassets 中的文件。我一直在stackoverflow中寻找答案,我发现了这个:

  • 1x 图像用于原始 iPhone 通过 3GS -“标准”分辨率设备(3.5 英寸屏幕)

  • 2x 图像适用于 iPhone 4、4S(3.5 英寸 Retina 屏幕)和iPhone 6。

  • Retina 4 2x 适用于 iPhone 5 和 5s(4" Retina 屏幕)

  • 3x 图像适用于新款 iPhone 6+(5.5 英寸超视网膜 [3x] 屏幕)

这对我帮助很大,但我的问题是:如果图像集是背景(简而言之,图像覆盖整个屏幕)怎么办?如何处理不同的屏幕尺寸?我必须在“2x”方块中放入什么?iPhone 4/4S 图像还是 iPhone 6?

4

1 回答 1

0

只有一个问题是 iPhone 4 和 iPhone 6 拍摄相同的 @2x 图像。

因此,如果您想为所有设备设置完美的图像,那么您必须尝试以下代码:

if([[UIScreen mainScreen]bounds].size.height==480)
{
    login_bg.image=[UIImage imageNamed:@"i4_login.png"];
}
else if ([[UIScreen mainScreen]bounds].size.height==568)
{
    login_bg.image=[UIImage imageNamed:@"i5_login.png"];
}
else if ([[UIScreen mainScreen]bounds].size.height==667)
{
    login_bg.image=[UIImage imageNamed:@"i6_login.png"];
}
else if ([[UIScreen mainScreen]bounds].size.height==736)
{
    login_bg.image=[UIImage imageNamed:@"i6+_login.png"];
}
else if ([[UIScreen mainScreen]bounds].size.height==1024)
{
    login_bg.image=[UIImage imageNamed:@"ipad_login.png"];
}
于 2015-05-12T10:23:45.550 回答