未使用UITableViewController,如何设置UITableView的行高?
完全可行!无需依赖UITableViewController也能实现动态行高
你提到的这两行代码根本不需要绑定UITableViewController,直接在你的UIViewController里对UITableView实例配置就能解决行高过小的问题,实现内容自适应的动态行高。
具体操作细节:
首先在你的UIViewController中,找到对应的UITableView对象,添加这两行配置代码:
TableView.RowHeight = UITableView.AutomaticDimension; TableView.EstimatedRowHeight = 40f;其中
EstimatedRowHeight是给系统提供一个预估行高,用来优化列表滚动性能,你可以根据自己单元格的大致高度调整这个数值——比如如果预览信息的常规行高在60左右,设为60f会更贴合实际。关键前提:确保你的自定义UITableViewCell内部约束完整且正确:
- 把显示「预览信息」的UILabel的
NumberOfLines设为0,允许文本自动换行; - 这个Label的顶部、底部、左侧、右侧都要和单元格的
ContentVIew建立约束,保证内容能完全撑开单元格高度,这样系统才能准确计算出实际需要的行高。
- 把显示「预览信息」的UILabel的
额外注意:如果之前你在
UITableViewDelegate中实现了GetHeightForRow方法,记得移除这个方法,或者让它返回UITableView.AutomaticDimension——否则这个代理方法会覆盖你设置的属性,导致自适应行高失效。
内容的提问来源于stack exchange,提问作者memyselfandi
相关产品推荐
相关产品推荐

