从iOS8开始,苹果就可以使用Auto-sizing来自动计算tableView中cell的高度了
一 .照常我们自定义一个cell,并添加了各种约束(具体的自行搞定,因为这跟本文要讲的没什么太大的关系),并设置对应的数据,但不要去计算cell的高度
应用该cell后,发现cell的高度就是默认高度44
二 . 接下来只需要两个个步骤即可实现自动计算cell高度
1 . 设置label(里面内容不确定的Label,比如"评论内容")与cell底部的约束,约束我以10为例,如图所示
单单只添加这条约束是不行的,一运行Xcode就会报一堆错,但并不会影响程序的运行.
2 .到应用该cell的tableView.m文件的viewDidLoad方法中,添加如下代码
// cell的高度设置
self.tableView.estimatedRowHeight = 44; // 设置估算高度
self.tableView.rowHeight = UITableViewAutomaticDimension; // 告诉tableView我们cell的高度是自动的
搞定
反复强调一点:该方法只适用于iOS8及以上!!!