如何使用UITableViewAutomaticDimension更新单元格的高度?

我在tableViewCell中有一个UITextView ,并使用了这里列出的iOS 8提供的UITableViewAutomaticDimension方法。

如果用户添加新行到UITextView ,所以textView,单元格高度应该增加,我怎样才能更新高度?

尝试:

 cell.layoutIfNeeded() cell.setNeedsUpdateConstraints() 

这些不起作用。

如果我重新加载细胞,就像

 tableView.reloadRowsAtIndexPaths([iindexPath], withRowAnimation: .None) 

这工作,但是我需要处理辞职和显示键盘。 我会避免它。 任何解决方法?

需要添加以下方法:

 func textViewDidChange(textView: UITextView) { tableView.beginUpdates() tableView.endUpdates() } 

它会更新约束,而无需重新加载tableview

一段时间后, textView将开始滚动,以增加它的高度,在新的一行你需要实现textViewDidChangeText:方法,并通过计算文本的高度增加其高度。

要使用UITableViewAutomaticDimension你需要从上到下添加约束到subviews ,我认为你也应该创build和IBOutlet为textView的高度约束和textViewDidChangeText方法设置常量值,在这种情况下, tableViewCell高度会dynamic变化。