6

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

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

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

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

产生以下输出:

{320, 480}

这显然是错误的大小。

我已确保 xcassets 文件中的映射正确,并已确认所有尺寸。似乎我无法从 xcassets 文件中的给定集合中请求特定图像,这意味着我不能这样做:[UIImage imageNamed:@"LaunchImageR4"].

而且由于文件被添加到 xcassets 文件中,我也无权访问原始图像文件,因此自定义解决方案似乎是不可能的。

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

4

2 回答 2

-1

启动图像是一种特殊的图像集。您无法[UIImage imageNamed:@"LaunchImage"]获得适合您设备(即 iPhone 3"、4" 或 iPad + Retina)的正确启动图像。

于 2013-12-09T18:03:28.263 回答
-1

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

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

于 2013-12-09T18:03:10.550 回答