IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    UITableViewCell 动态高度 配置

    R0uter发表于 2017-04-10 16:55:03
    love 0

    去落格博客阅读完整排版的UITableViewCell 动态高度 配置

    最近更新:11th 四月, 2017

    UITableViewController
     是iOS开发中相当常用的一个空间了,它的 cell 很早就可以支持自适应高度,或者说是 动态高度。在开发中,如果cell里布局了复杂的内容——比如连图带字的一条微博。那么这个时候动态的自动的高度就显得很有用了——总不用你自己去计算。

    不少人其实还不会用这个动态高度,有的人甚至在使用的时候自己初始化一个新的cell,然后写入与当前cell相同的内容,获取它的高度再返回……🤦‍♂️

    总之,我们现在来看看如何正确配置 tableview 的 cell  高度。

    属性配置

    首先,你要给 TableView 打开自动高度功能:

    self.tableView.estimatedRowHeight=88
    self.tableView.rowHeight=UITableViewAutomaticDimension

    注意第一行的

    88
      ,你应该给你一个你所有需要自动高度的 cell 可能的平均值。

    去掉自定义高度

    如果你在编辑 prototype 的过程当中拉开了 cell 的高度——为了方便布局你肯定会这么做,所以,注意把它取消勾选:

    取消cell的自定义高度

    给 cell 建立能够推断高度的布局

    这里很有意思,你一定要注意,你在 cell 内的布局如果不合适,那么 cell 就不能够根据你的内容来动态推断需要的高度!

    具体要怎么做呢?按照你以往的经验,当你的内容能够根据 content view 的高度自动布局就 OK 啦,如果你上下改变 cell 的高度而内容无动于衷,那即使你开启了自动高度,最终 cell 也无法推断出你需要的高度。

    值得一提的东西

    如何让

    UILabel
      支持多行? 设置它的行数为 0 即可;

    如何让

    UILabel
      支持富文本?选择文本为 
    attributedText
     即可。

    延伸阅读

    UITableViewCell高度自适应的关键点

    UITableViewCell 动态高度 配置,首发于落格博客。

    其他推荐:
    1. 在 Xcode 中直接预览应用 UI
    2. Xcode 里的那些插件
    3. 介绍一下 Karel 这个机器人
    4. 2014年网络营销形势
    5. 关于高配电脑玩dota依旧卡顿的一点看法



沪ICP备19023445号-2号
友情链接