iphone - 不使用 reloadData 实时调整 UITableViewCell 大小?

标签 iphone uitableview uitextview resignfirstresponder

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

现在的情况:

我有一个 UITextView 作为 UITableViewUITableViewCell 的 subview 。 UITextView 是第一响应者(当用户键入时)。

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

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

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

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

有没有办法重绘或调整 UITableViewCell 的大小(以动态更改其 rowHeight),而不导致其任何 subview 辞去第一响应者的角色?

最佳答案

使用tableView的[tableView beginUpdates][tableView endUpdates]将解决这个问题。请参阅this answer了解更多信息。

关于iphone - 不使用 reloadData 实时调整 UITableViewCell 大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12267146/

相关文章:

ios - UITextView 中的控制选择

iphone - 如何让 UITextView 尊重 Interface Builder 中的换行符?

iphone - 如何通过单击文本字段转到另一个 View ?

iphone - iOS 多客户端部署/分发问题

ios - sizewithAttributes 没有为 uilabels 返回正确的高度

ios - 在 Storyboard中设计点击展开单元格

ios - 让 UITableView 的标题部分中的 UIImageView 与内容单元格重叠

ios - 如何获取 UITextView 中最后一行的文本长度

iphone - iOS - UIPasteboard 在应用程序外部不工作

iphone - 在哪里确定 UIView 大小