从xcassets文件获取启动图像的大小不正确

时间:2013-12-09 17:55:10

标签: ios xcode xcasset

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文件中,我也无法访问原始图像文件,因此自定义解决方案似乎无从谈起。

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:-1)

我相信启动时会自动加载正确的启动图像。它并不意味着在运行时从xcassets拉出。由于它是在运行时,您必须自己检查正在使用哪个设备,因为图像目录仅设置为使用@ 2x后缀(不是设备的大小)拉视网膜而不是非视网膜。

您可以使用this post确定正在使用的设备,并按名称加载正确的图片。

答案 1 :(得分:-1)

启动图像是一种特殊的图像集。您无法使用[UIImage imageNamed:@"LaunchImage"]来获取适合您设备的正确启动图像(例如iPhone 3",4"或iPad + Retina)。