1.实现自适应高度
首先在创建tableview的时候设置rowHeight属性为UITableViewAutomaticDimension(自动尺寸),然后最好设置一个默认的高度estimatedRowHeight
// 自适应高度
_baseTableView.rowHeight = UITableViewAutomaticDimension;
// 预估高度
_baseTableView.estimatedRowHeight = 100;
在代码设置这些之后,千万不要写方法:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
一旦写了返回cell高度的代理方法,就会默认按照代理方法的高度显示。
在使用xib实现UITableViewCell的布局或者代码实现布局,都要设置每个控件的高度以及相对间距,这样才能撑开自适应高度的cell,显示才不会有问题。
为啥要使用自动布局?
在项目中遇到文本输入框UITextView,要求文本输入框的高度根据输入内容自适应高度,如果每次都要计算文本框的高度,然后再在以上heightForRowAtIndexPath代理方法中计算高度,非常麻烦,后序维护起来也相当难受。使用自适应高度就相对非常方便,只需要计算文本框展示文字的高度,会默认撑开cell的高度。
网友评论