iOS - 自动计算cell的高度(iOS8 Auto-sizing)

时间:2022-03-13 08:17:12

从iOS8开始,苹果就可以使用Auto-sizing来自动计算tableView中cell的高度了

一 .照常我们自定义一个cell,并添加了各种约束(具体的自行搞定,因为这跟本文要讲的没什么太大的关系),并设置对应的数据,但不要去计算cell的高度

iOS - 自动计算cell的高度(iOS8 Auto-sizing)

应用该cell后,发现cell的高度就是默认高度44

iOS - 自动计算cell的高度(iOS8 Auto-sizing) iOS - 自动计算cell的高度(iOS8 Auto-sizing)

二 . 接下来只需要两个个步骤即可实现自动计算cell高度

1 . 设置label(里面内容不确定的Label,比如"评论内容")与cell底部的约束,约束我以10为例,如图所示

iOS - 自动计算cell的高度(iOS8 Auto-sizing)

单单只添加这条约束是不行的,一运行Xcode就会报一堆错,但并不会影响程序的运行.

2 .到应用该cell的tableView.m文件的viewDidLoad方法中,添加如下代码

// cell的高度设置
self.tableView.estimatedRowHeight = 44; // 设置估算高度
self.tableView.rowHeight = UITableViewAutomaticDimension; // 告诉tableView我们cell的高度是自动的

搞定

iOS - 自动计算cell的高度(iOS8 Auto-sizing) iOS - 自动计算cell的高度(iOS8 Auto-sizing)

反复强调一点:该方法只适用于iOS8及以上!!!