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

Sno*_*man 6 xcode ios xcasset

Xcode的默认Images.xcassets文件有一个插槽LaunchImage,对于一个纵向iPhone应用程序,有5个可能的插槽.

根据文档,要从xcassets文件中获取正确大小的图像,只需使用[UIImage imageNamed:].

但是,在iPhone Retine(4英寸)模拟器上运行以下代码:

UIImage *splashImage = [UIImage imageNamed:@"LaunchImage"];
NSLog(@"%@", NSStringFromCGSize(splashImage.size));
Run Code Online (Sandbox Code Playgroud)

产生以下输出:

{320, 480}
Run Code Online (Sandbox Code Playgroud)

这显然是错误的大小.

我确保xcassets文件中的映射是正确的,并确认了所有维度.我似乎无法从xcassets文件中的给定集合请求特定图像,这意味着我无法做到:[UIImage imageNamed:@"LaunchImageR4"].

由于文件被添加到xcassets文件中,我也无法访问原始图像文件,因此自定义解决方案似乎无从谈起.

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

tim*_*son -1

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

您可以使用这篇文章来确定正在使用哪个设备并按名称加载正确的图像。