美文网首页ios实用开发技巧小知识点iOS学习笔记
iOS-自定义UICollectionViewCell注册问题

iOS-自定义UICollectionViewCell注册问题

作者: 简鱼7819 | 来源:发表于2017-09-28 10:59 被阅读112次

    今天项目上用到了UICollectionView,展示效果并不难,就是自定义一个UICollectionViewCell的子类,在这个UICollectionViewCell的就添加了几个图片imageview。imageview是用拖线到.h文件中的

    但是一切代理方法写好,cell创建没有问题,cell设置背景颜色也能正常展示。但是imageview一直不能展示。

    后来查阅资料,翻了几遍代码,才找到问题出现在自定义cell注册的问题上。

    - (void)registerClass:(nullable Class)cellClass forCellWithReuseIdentifier:(NSString *)identifier;

    - (void)registerNib:(nullable UINib *)nib forCellWithReuseIdentifier:(NSString *)identifier;

    注册自定义cell使用上面两种方法,而我出现imageview无法显示的原因就,我是使用xib创建的自定义cell类,但是我注册却是使用registerClass去注册的。

    查资料得知,xib文件的加载是需要mainBundle去加载才能真实加载成功,而registerClass注册的cell是不会用mainBundle遍历加载相应的xib的,所以拖线出来的imageview无法显示!

    总结

    1,如果自定义的cell是用纯代码实现的,使用registerClass来注册cell;

    2,如果自定义的cell中有用xib加载一些控件,要用registerNib来注册;

    3,同时如果你的自定义cell是在storyboard中创建,这个cell是不需要注册的。

    细节啊,之前没有仔细考虑这一块的东西。个人总结,谢谢!

    相关文章

      网友评论

        本文标题:iOS-自定义UICollectionViewCell注册问题

        本文链接:https://www.haomeiwen.com/subject/yzjmextx.html