美文网首页iOS知识点iOS杂技
iOS xib 创建多个cell 遇到的坑,可能有你的坑

iOS xib 创建多个cell 遇到的坑,可能有你的坑

作者: 桀骜不驯的搬砖者 | 来源:发表于2018-01-19 09:37 被阅读469次

    1.一个xib 创建多个 cell 加载时错误

    错误:

    reason: 'unable to dequeue a cell with identifier XXCellZero - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'

    解决方法:

    1.1.在XXcell.h 文件中声明创建方法:

    图1

    1.2 .在XXcell.m 文件中实现该方法:

    注意:一定要通过 dequeueReusableCellWithIdentifier:进行复用,不可通过复用xib 方法复用:dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath 

    图2

    2. 一个xib 创建多个 cell  拖线的按钮事件不触发,断点不走

    2.1. 检查按钮是否被父控件覆盖或者被不可点击的空间覆盖,解决方法:在xib中调整控件位置就行。

    2.2. 检查xib 是否是tableviewCell 类型,而不是普通view

    2.3. 检查所连接的线是否是对应当前cell 上的控件:

    错误映射:

    图: 错误映射 1 图: 错误映射 2 图: 错误映射 3 图: 错误映射 4

    解决错误映射:

    1.把不对应的映射去掉

    2.把对应的映射连接上去:连接的时候注意的是,不要使用:按control 键 + 鼠标拖线 (❌)如下图:

    步骤 1 步骤 2

    3.xib 动态约束设置

    图3

    我们有时候要做动态约束,我们可以不设置label 的宽和高,也不会报错,但是我们可能会遇到限制它最大宽度的时候怎么办呢?连接最右边的约束,然后找到该约束,双击它,然后到达下面👇的图:然后改Relation : 选最后一个就行,(也就是 大于等于的意思,小于等于作用相反,如果我们的文字从右边对齐的话就用它了)

    图3.1


    其他错误:

    1.xib不能拖线,查看xib 的 class 是否 是当前类

    2.如果都对,清除缓存

    3.xib 能显示,控件都为空nil ,查看关联对象是否正确

    4.xib 创建的view,600 * 600 不自动布局,xib 比例适配

    本来xib 默认就是600 x 600, 然后呢,有人说是sizeclass 在作怪,但是好像我试了还是不行,后面是通过,布局子控件的比例相对于xib 本身的比例布局,然后也可以完美适配。创建该view的时候手动布局以下它的布局,用setNeedsUpdateConstraints 更新一下它子控件的约束即可。约束如图:

    步骤 1 步骤 2 步骤 3

    5.xib 截图不能截到它上面的图

    解决:查看该图是否是它的子图,或打断点看看它是否有该图

    最后:

      如果你使用过程中发现不对的地方请多多包涵,也欢迎指出不对之处;也非常欢迎在留言你所遇到的坑!感谢阅读!

    声明:

    本文属于原创,转载请注明出处!谢谢,如有侵权,请联系删除!谢谢🙏

    相关文章

      网友评论

        本文标题:iOS xib 创建多个cell 遇到的坑,可能有你的坑

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