8

首先,如果答案已经存在,请原谅我(老实说,我一直在工作和寻找大约两个星期)。

而现在,情况:

我有 aUITextView作为 a 中 a 的子UITableViewCell视图UITableView。是第一UITextView响应者(当用户键入时)。

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

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

围绕该问题的不令人满意的解决方案:

我可以使用然后[tableView reloadData]模拟(这样用户甚至不会注意到 textView 已重新加载)并且 rowHeight 是完美的,但这给我带来了很多问题(尤其是确保光标确实每次用户键入字符时都不会跳到最后,并且由于 textView 辞职,自动更正会强制执行其建议)。[textView becomeFirstResponder]

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

4

1 回答 1

21

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

于 2012-09-06T19:24:32.237 回答