UITableView 自适应高度

992 阅读1分钟

一、UITableView 设置

  1. 不要实现 heightForRowAt 方法,UITableView 默认 rowHeight = UITableView.automaticDimension,即支持自适应高度
  2. 通过设置 estimatedRowHeight 可以优化性能,但如果 UITableView 有增删 Cell 的需求,可能会出现跳动的闪的问题,去掉该设置即可

二、UITableViewCell 设置

  1. TableViewCell 用 AutoLayout 布局,撑满自身高度,即 ContentView 的内容纵向约束有头有尾
  2. 纵向上有多个补丁高度的控件,如 UILabel,会导致 xib 约束报红,通过 content hugging priority 设置优先级解决
  3. 横向居中的控件,需要明确设置 center.x,仅设置 Leading 和 Trailing 是不够的,也会导致 xib 约束报红