我们收到以下类型的错误消息:
无法加载从标识符为“com.company.OurResourceBundle”的包中的笔尖引用的“iconStatus”图像。
基本上,我们将一堆图像放在 xcassets 文件夹中(适用于非捆绑加载的情况)。 xcassets 和 nib 文件打包到资源包中。
当应用程序启动时,
- nib 文件中的 uiimageview 无法加载任何图像,并出现上述错误消息。
- [UIImage imageNamed:@"OurResourceBundle.bundle/iconStatus"] 返回 nil
该问题与“如何在 NSBundle 中从 Assets.car(xcassets 的编译版本)加载图像? https://stackoverflow.com/questions/21857986/how-can-i-load-an-image-from-assets-car-compiled-version-of-xcassets-within-an”,但我们不使用 CocoaPods。
在 iOS 7 中,除了 Xcode 编译到主包中的文件之外,无法从任何 .car 文件加载图像。 Apple 开发人员证实了这一点https://devforums.apple.com/message/968859#968859 https://devforums.apple.com/message/968859#968859:
不幸的是,除了 Xcode 编译到主包中的文件之外,无法从任何汽车文件加载图像,因为 +imageNamed: 不接受包参数,而这是这样做所需要的(即使如此,它也只会能够打开单个捆绑包中的单个资产目录)。
在 iOS 8 中,有一种新方法可以满足您的需求:
+ (UIImage *)imageNamed:(NSString *)name inBundle:(NSBundle *)bundle
compatibleWithTraitCollection:(UITraitCollection *)traitCollection
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)