无法从 iOS 9 上的 xcassets 加载图像
Impossible to load an image from xcassets on iOS 9
我的 Images.xcassets
中存储了几张图片,我通过代码和 Interface Buider 加载了这些图片。但是 iOS 9 更新破坏了一切:从代码或 IB 加载时图像都没有显示。
一切正常,只是图像不再加载。
假设我的 .xcassets
中有一个名为 Image
的图像。在 iOS 8 日,
[UIImage imageNamed:@"Image"]
返回了一个有效的指针,但它 returns nil
在 iOS 上 9. 同样的事情在 Interface Builder 中发生:所有 UIImageView
从 IB 设置是空的。
不过有两个例外:两个 small (48x48) 图像确实可以正确加载。我注意到它们都被编译成 Assets.car
,所有其他的都以 png 和 jpeg 的形式放在主目录中......但是配置与所有图像 相同 。
iOS8 上不存在此问题。
有什么想法吗?
答案是我使用的是 JPEG。
看起来 Xcode 7 现在需要 Render As
选项设置为 Original Image
尽管 Xcode 6.1 应该 也 需要这个选项(来自 this SO thread)。然而它在没有它之前工作......(我在 Xcode 6.1 上开始了这个项目)。
解决方案是将 Render As
选项从 Default
更改为 Original
:
我的 Images.xcassets
中存储了几张图片,我通过代码和 Interface Buider 加载了这些图片。但是 iOS 9 更新破坏了一切:从代码或 IB 加载时图像都没有显示。
一切正常,只是图像不再加载。
假设我的 .xcassets
中有一个名为 Image
的图像。在 iOS 8 日,
[UIImage imageNamed:@"Image"]
返回了一个有效的指针,但它 returns nil
在 iOS 上 9. 同样的事情在 Interface Builder 中发生:所有 UIImageView
从 IB 设置是空的。
不过有两个例外:两个 small (48x48) 图像确实可以正确加载。我注意到它们都被编译成 Assets.car
,所有其他的都以 png 和 jpeg 的形式放在主目录中......但是配置与所有图像 相同 。
iOS8 上不存在此问题。
有什么想法吗?
答案是我使用的是 JPEG。
看起来 Xcode 7 现在需要 Render As
选项设置为 Original Image
尽管 Xcode 6.1 应该 也 需要这个选项(来自 this SO thread)。然而它在没有它之前工作......(我在 Xcode 6.1 上开始了这个项目)。
解决方案是将 Render As
选项从 Default
更改为 Original
: