参考地址:http://www.cocoachina.com/ios/20141226/10778.html
在 TextViewCell.m 中实现 - (void)textViewDidChange:(UITextView *)textView,每次 text view 内容改变的时候,就重新计算一次 text view 的大小,并让 table view 更新高度。
#import "TextViewCell.h"
@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];
}
- (UITableView *)tableView
{
UIView *tableView = self.superview;
while(![tableView isKindOfClass:[UITableView class]] && tableView) {
tableView = tableView.superview;
}
return(UITableView *)tableView;
}
@end
// 设置textView显示的行数
cell.contentTV.textContainer.maximumNumberOfLines = 2;
// 设置textView超过屏幕显示省略号
cell.contentTV.textContainer.lineBreakMode = NSLineBreakByTruncatingTail;
网友评论