我已将不同大小的图片添加到LaunchImage资源中。我使用这段代码
UIImage *launchImage = [UIImage imageNamed:@"LaunchImage"]
它返回了大小错误的launchImage,正好返回@ 2x png。当我使用iphone6 plus时,期待的图像是@ 3x png。 有关获得正确图像的想法吗?
答案 0 :(得分:5)
经过大量搜索,我发现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];