美文网首页
自定义等高和非等高cell

自定义等高和非等高cell

作者: CoderRH | 来源:发表于2016-08-08 17:37 被阅读40次

    等高

    • storyboard

    • 拖一个tableView,设置固定的行高

    • 在cell上设置子控件

    • 设置cell的标识

    • 控制器取cell设置数据

    • xib

    • 创建cell的xib

    • 布局子控件

    • 控制器设置行高,取cell设置数据

    • 代码

    • 代码自定义cell的子控件

    • 控制器设置行高,取cell设置数据

    非等高

    • xib

    • 新建xib文件设置子控件,基本和等高一样

    • 控制器设置数据,cell重写setter方法,然后强制布局为数据模型计算出cell应该有的高度

    • 在控制器中先返回cell预期的高度,这样就可以使获得cell的数据源方法在获得高度的方法之前调用

    • 注意点就是由于强制布局导致label的计算出来的高度和实际显示的高度有时候不一致,可以在cell的awakeFromNib中设置label的preferredMaxLayoutWidth属性设置文字布局的范围,由于约束所以label的间距依然是距离父控件的距离左右是10,有时候右边会空出一点,是因为下一个文字显示不下,换行到下一行去显示

    • storyboard

    • 和xib的基本一致,只是将子控件的布局从xib转移到storyboard中

    • 在storyboard中如果设置label距离父控件的左右距离各为10,那么运行出来会有约束警告,解决办法是只给label设置上、左间距确定位置即可,在cell的awakeFromNib中设置label的preferredMaxLayoutWidth属性设置文字布局的范围,这个时候的label的范围就是文字的范围,实现了包裹的效果

    • 代码

    • 增加frame模型,在该模型中计算frame

    • 自定义cell demo code : demo 密码 : jcsb

    • tableView的运用 : QQ聊天布局 密码 : i612

    相关文章

      网友评论

          本文标题:自定义等高和非等高cell

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