我正在使用Xcode 5.1的资产目录,并为iOS 7及更高版本制作应用程序。资产目录背后的想法是,您可以随意调用图像,目录将图像与正确的设备和方向相关联。在后台,Xcode显然沿着提到的here方案重命名文件。但是,似乎有稳定的问题以编程方式(here,here或特别是here)访问文件而不会遇到内存问题(例如here)。
所以我的目录中有资产,并且正确调用了启动图像。但我也想将启动图像用作背景图像,所以我需要以编程方式调用它们。在原则我需要做的所有事情,如果我正确理解资产目录概念,就是这样的:
- (void) selectBackgroundImage {
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"LaunchImage"]];
}
操作系统应该从xcassets启动图像集中选择正确的启动图像。然而,这显然仅在使用图像的常规名称时才有效,例如, Default-Portrait@2x~iPad.png
会破坏资产目录(您喜欢的任何名称)的一个声称优势,并可能遇到上述内存问题。
此时,在推荐帖子发表几个月后,是否有更好的解决方案?我知道我可以摆脱资产目录并直接访问文件,或者在代码中添加大量工作,或者使用目录和官方文件名,但这些“解决方案”都不符合应该做资产目录。