在不使用reloadData的情况下实时调整UITableViewCell的大小?

Cas*_*hew 8 iphone uitableview uitextview resignfirstresponder

首先,请原谅我,如果答案已经存在(我老实说,我已经工作并且搜索了大约两周).

现在,情况如下:

我有UITextView作为的一个子视图UITableViewCellUITableView.这UITextView是第一个响应者(当用户键入时).

我已经设置了(通过委托协议方法),以便在每个键入的字符之后,rowHeight重新计算单元格(正确地并在tableViews委托协议中为rowHeight).到目前为止一切都很好.

然后,我希望重新加载(或刷新,无论术语是什么)该单元格而不将其子视图UITextView作为第一响应者重新签名.

解决问题的一个不令人满意的解决方案:

我可以使用[tableView reloadData],然后[textView becomeFirstResponder]模拟这种(让用户甚至不会注意到的TextView被重新加载)和rowHeight的是完美的,但是这已经引起了我很多的问题(特别是确保光标不每次用户键入一个字符时都不会跳到最后,并且由于textView重新签名而自动更正强制执行其建议.

有没有办法重绘或调整大小UITableViewCell(以动态更改它rowHeight)而不会导致其任何子视图作为第一响应者辞职?

KDa*_*ker 20

使用的tableView的[tableView beginUpdates][tableView endUpdates]将解决这个问题.有关更多信息,请参阅此答案.