Retina 图形未从 NSBundle 加载

Posted

技术标签:

【中文标题】Retina 图形未从 NSBundle 加载【英文标题】:Retina graphics not loading from NSBundle 【发布时间】:2014-10-22 03:55:21 【问题描述】:

我使用 raywenderlich.com 上的教程创建了一个框架,并且还包含了一个资源包。捆绑包内部是一个故事板文件和许多图像,都有一个对应的@2x 文件。

当我在我的测试应用程序中包含这个框架和捆绑包时,情节提要在呈现时可以正常加载,但不会显示视网膜图形。当我在测试应用程序中单击捆绑包上的下拉箭头时,所有@2x 文件都在那里。

如何获得它以加载@2x 图形?我听说手机应该自己检测到它们,但它们没有加载。

谢谢。

【问题讨论】:

是的,是的,手机自己检测视网膜图像。你的图片是png格式的吗? 【参考方案1】:

Xcode 自动将视网膜和非视网膜 .png 文件组合成“一个多页 TIFF”

解决方案:

使用@"tiff" 而不是@"png"

UIImage *image = [UIImage imageWithContentsOfFile:[yourBundle pathForResource:@"yourImage" ofType:@"tiff"]];

这里是reference

【讨论】:

以上是关于Retina 图形未从 NSBundle 加载的主要内容,如果未能解决你的问题,请参考以下文章

NSBundle 加载一个 NSViewController

NSBundle 未加载 - 目标 C

图像未从文档目录中检索

现有路径的 NSBundle“尚未加载”

NSBundle的加载和卸载

使用 NSBundle 加载我的资源