美文网首页
textView 自适应高度

textView 自适应高度

作者: foolish_hungry | 来源:发表于2018-04-08 20:43 被阅读0次

参考

改变textView Frame的值
@implementation TextViewCell
- (void)textViewDidChange:(UITextView *)textView
{
  CGRect bounds = textView.bounds;
  // 计算 text view 的高度
  CGSize maxSize = CGSizeMake(bounds.size.width, CGFLOAT_MAX);
  CGSize newSize = [textView sizeThatFits:maxSize];
  bounds.size = newSize;
  textView.bounds = bounds;
  // 让 table view 重新计算高度
  UITableView *tableView = [self tableView];
  [tableView beginUpdates];
  [tableView endUpdates];
}
text Marsonry布局
   [_iContentTextView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(self.contentView.mas_top);
        make.left.mas_equalTo(self.contentView.mas_left).offset(kAspectWidth(10));
        make.right.mas_equalTo(self.contentView.mas_right).offset(kAspectWidth(-10));
        make.height.mas_greaterThanOrEqualTo(kAspectHeight(50));
        make.bottom.mas_equalTo(self.contentView.mas_bottom).offset(kAspectHeight(-10));
    }];

注意点
1.使用 iOS 8 的特性自动计算 cell 高度,或者在 heightForRow 中自己实现计算高度的代码。
2.UITextView 的 scrollEnable 要设置 NO
3.更新 table view 的高度使用 beginUpdates 和 endUpdates
4.Text view 更新内容后要保存数据,以免重新加载 cell 时数据丢失

相关文章

网友评论

      本文标题:textView 自适应高度

      本文链接:https://www.haomeiwen.com/subject/mwtmhftx.html