imageNamed returns nil 在 iOS 7 但不是 iOS 8
imageNamed returns nil on iOS 7 but not iOS 8
我有不同时间间隔的图像。一个例子是“1.5d-4h.png”,也就是 4 小时到 1.5 天之间。我有每个间隔图像的常规 @2x 和 @3x 资产,我确保它们都是 PNG(不是 JPG),但由于某些原因,某些间隔图像无法通过 imageNamed
仅在 [=29] 上加载=] 7. iOS 8台设备正确加载所有可能的间隔图像。
从一些进一步的测试来看,它看起来像在 iOS 7 上,如果您将名称完全限定为 imageNamed
,那么所有这些图像都会成功,例如
(lldb) po [UIImage imageNamed:@"1.5d-4h.png"]
<UIImage: 0x7ec390>
(lldb) po [UIImage imageNamed:@"1.5d-4h"]
nil
在 iOS 7 和 8 上成功加载的图像示例:
(lldb) po [UIImage imageNamed:@"10-9d"]
<UIImage: 0x10cc290>
这是完整的时间间隔集:
@"4h-0min"
@"1.5d-4h" // fails
@"4.5-1.5d" // fails
@"5.5-4.5d" // fails
@"7-5.5d" // fails
@"9-7d"
@"10-9d"
有什么建议吗?
似乎所有图片名称都带有“.”其中加载失败。
尝试转义“.”字符或将图像重命名为没有“。”他们名字中的字符。
给出一个简单的图像名称意味着没有点 (.) 并检查图像名称中的驼峰式大小写,因为模拟器不关心驼峰式大小写但设备关心。
我有不同时间间隔的图像。一个例子是“1.5d-4h.png”,也就是 4 小时到 1.5 天之间。我有每个间隔图像的常规 @2x 和 @3x 资产,我确保它们都是 PNG(不是 JPG),但由于某些原因,某些间隔图像无法通过 imageNamed
仅在 [=29] 上加载=] 7. iOS 8台设备正确加载所有可能的间隔图像。
从一些进一步的测试来看,它看起来像在 iOS 7 上,如果您将名称完全限定为 imageNamed
,那么所有这些图像都会成功,例如
(lldb) po [UIImage imageNamed:@"1.5d-4h.png"]
<UIImage: 0x7ec390>
(lldb) po [UIImage imageNamed:@"1.5d-4h"]
nil
在 iOS 7 和 8 上成功加载的图像示例:
(lldb) po [UIImage imageNamed:@"10-9d"]
<UIImage: 0x10cc290>
这是完整的时间间隔集:
@"4h-0min"
@"1.5d-4h" // fails
@"4.5-1.5d" // fails
@"5.5-4.5d" // fails
@"7-5.5d" // fails
@"9-7d"
@"10-9d"
有什么建议吗?
似乎所有图片名称都带有“.”其中加载失败。
尝试转义“.”字符或将图像重命名为没有“。”他们名字中的字符。
给出一个简单的图像名称意味着没有点 (.) 并检查图像名称中的驼峰式大小写,因为模拟器不关心驼峰式大小写但设备关心。