Xcode的默认Images.xcassets
文件有一个LaunchImage
的插槽,对于一个纵向iPhone应用,有5个可能的插槽。
根据documentation,要从xcassets
文件中获取正确大小的图片,只需使用[UIImage imageNamed:]
。
但是,在iPhone Retine(4英寸)模拟器上运行以下代码:
UIImage *splashImage = [UIImage imageNamed:@"LaunchImage"];
NSLog(@"%@", NSStringFromCGSize(splashImage.size));
产生以下输出:
{320, 480}
这显然是错误的尺寸。
我确保xcassets文件中的映射是正确的,并确认了所有维度。我似乎无法从xcassets文件中的给定集请求特定图像,这意味着我无法做到:[UIImage imageNamed:@"LaunchImageR4"]
。
由于文件被添加到xcassets文件中,我也无法访问原始图像文件,因此自定义解决方案似乎无从谈起。
有谁知道如何解决这个问题?
答案 0 :(得分:-1)
我相信启动时会自动加载正确的启动图像。它并不意味着在运行时从xcassets
拉出。由于它是在运行时,您必须自己检查正在使用哪个设备,因为图像目录仅设置为使用@ 2x后缀(不是设备的大小)拉视网膜而不是非视网膜。
您可以使用this post确定正在使用的设备,并按名称加载正确的图片。
答案 1 :(得分:-1)
启动图像是一种特殊的图像集。您无法使用[UIImage imageNamed:@"LaunchImage"]
来获取适合您设备的正确启动图像(例如iPhone 3",4"或iPad + Retina)。