3

我正在使用带有 Xcode 5.1 的资产目录并为 iOS 7 及更高版本制作应用程序。资产目录背后的想法是,您可以随心所欲地调用图像,并且目录将图像与正确的设备和方向相关联。在后台,Xcode 显然会按照这里提到的方案重命名文件。但是,似乎存在以编程方式访问文件的稳定问题(此处此处或特别是此处)而不会遇到内存问题(例如此处)。

所以我的目录中有资产,并且启动图像被正确调用。但我也想使用启动图像作为背景图像,所以我需要以编程方式调用它们。原则上,如果我正确理解资产目录的概念,我需要做的就是这些事情:

- (void) selectBackgroundImage {
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"LaunchImage"]];
}

并且操作系统应该从 xcassets 启动映像集中选择正确的启动映像。但是,这显然只有在使用图像的常规名称时才有效,例如Default-Portrait@2x~iPad.png,这会破坏资产目录的一个声称的优势(您喜欢的任何名称),并且可能会遇到上述内存问题。

在这一点上,在引用的帖子几个月后,有没有更好的解决方案?我知道我可以摆脱资产目录并直接访问文件,或者围绕代码添加大量工作,或者将目录与官方文件名一起使用,但这些“解决方案”都不是本着资产目录应该做的。

4

0 回答 0