UITableView+UITextView+Masonry+iOS 8自适应高度

设置 UITableView iOS 8 的 Self Sizing Cells 属性

_tableView.rowHeight = UITableViewAutomaticDimension;
_tableView.estimatedRowHeight = 44.0f;

注意,设置了_tableView.rowHeight = UITableViewAutomaticDimension;之后就不要实现tableView: heightForRowAtIndexPath:方法了,如果实在要设置,应该在需要自动计算高度的row返回 UITableViewAutomaticDimension(否则自动计算高度会失效)

设置 UITextView 的 Masonry 布局

[self.textView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.right.top.bottom.mas_equalTo(self.contentView);
        make.height.mas_greaterThanOrEqualTo(44);
    }];

注意,需要设置左右上下的约束,且设置高度大于或等于一个固定的数值

在文本输入时让 UITableView 改变行高

textViewDidChange: 时给 tableView 一个回调,执行

@weakify(tableView);
cell.updateHeight = ^{
    @strongify(tableView);
    [tableView beginUpdates];
    [tableView endUpdates];
};
参考:http://vit0.com/blog/2014/12/25/ios-textview-in-cell/