IB_DESIGNABLE(@IBDesignable)中[UIImage imageNamed:]的加载不成功问题

一般情况下image的加载会使用UIImage imageNamed: 方法进行加载。这在runtime的情况下是正常进行的。
但在xib中则无法显示,解决方案:

使用进行加载:

+ (nullable UIImage *)imageNamed:(NSString *)name inBundle:(nullable NSBundle *)bundle compatibleWithTraitCollection:(nullable UITraitCollection *)traitCollection NS_AVAILABLE_IOS(8_0)

其中参数bundle使用[NSBundle bundleForClass:] 使用[self class]/[当前类 class],切记不可用[NSBundle mainBundle]

关于其中原因:
一段据称来自官方的回应

Engineering has determined that this issue behaves as intended based on the following:
We can’t really make this any easier than specifying the bundle. You might say, “oh, let’s swizzle -[NSBundle mainBundle]”, but lots of call sites that reference a bundle don’t go thr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值