2015-10-14 70 views
1

我已经将不同大小的图片添加到LaunchImage资源中。虽然我使用此代码如何以编程方式在iOS9中获得正确的启动图像?

UIImage *launchImage = [UIImage imageNamed:@"LaunchImage"] 

它已返回launchImage大小错误,正好返回@ 2x png。当我使用iphone6 plus时,期待的图像是@ 3x png。 有关获得正确图像的任何想法?

+0

为什么不能您直接设置 –

+0

其实,我想使用启动图像不是为了启动应用程序。 – Qijin

+0

好的。因为它已经存在于imagecassets名称LaunchImage中,所以你正在替换那个。这是不可能的。 –

回答

4

搜索了很多后,我发现LaunchImages是特殊的,实际上并不是设备上的资产目录。而对于所有iOS设备列表作为launchImage文件名:

所以,如果你想获得iPhone设备的权限启动图像,只需使用此代码:

NSString *launchImageName; 
    if([UIScreen mainScreen].bounds.size.height > 667.0f) { 
     launchImageName = @"LaunchImage-800-736h"; // iphone6 plus 
    } 
    else if([UIScreen mainScreen].bounds.size.height > 568.0f) { 
     launchImageName = @"LaunchImage-800-667h"; // iphone6 
    } 
    else if([UIScreen mainScreen].bounds.size.height > 480.0f){ 
     launchImageName = @"LaunchImage-700-568h";// iphone5/5plus 
    } else { 
     launchImageName = @"LaunchImage-700"; // iphone4 or below 
    } 
    UIImage *launchImage = [UIImage imageNamed:launchImageName]; 
+1

然而,它适用于iPhone 6 Plus,您还需要包含方向。所以对于肖像模式应该是“LaunchImage-800-Portrait-736h”。谢谢! –

相关问题