【发布时间】:2012-08-29 07:54:12
【问题描述】:
首先,如果答案已经出现,请原谅我(老实说,我已经工作和搜索了大约两周)。
现在的情况:
我有一个UITextView 作为UITableView 中UITableViewCell 的子视图。 UITextView 是第一响应者(当用户输入时)。
我已经设置了它(通过委托协议方法),以便在每个键入的字符之后,重新计算单元格的rowHeight(正确并在 tableViews 的 rowHeight 委托协议中)。到目前为止一切都很好。
然后,我希望重新加载(或刷新,无论术语是什么)该单元格而不将其子视图 UITextView 作为第一响应者。
围绕问题的不令人满意的解决方案:
我可以使用[tableView reloadData] 然后[textView becomeFirstResponder] 来模拟这个(这样用户甚至不会注意到 textView 已重新加载)并且 rowHeight 是完美的,但这有给我带来了很多问题(尤其是确保每次用户键入字符 和 时光标不会跳到末尾,并且由于 textView 辞职,自动更正强制执行其建议)。 p>
有没有办法重绘或调整UITableViewCell 的大小(以动态更改其rowHeight)而不会导致其任何子视图辞去第一响应者的职务?
【问题讨论】:
-
this answer 应该可以帮助您。它谈论动画,但我很确定它可以满足您的需求。
-
谢谢@KDaker,但实际上我之前看到过这个并且它不起作用(出于某种奇怪的原因)。看来值得再试一次。
-
其他答案或想法将不胜感激!
-
有人吗?我至少可以简单地在一个单元格内有一个 textView 并让单元格在 textView 中输入的每个 keyStroke 上调整高度吗?这就是我真正想要的。
-
嘿,希望您找到解决问题的方法。我遇到了this,并认为它可能会对您有所帮助。查看 TTTextEditor。它是一个文本编辑器,可在您键入时扩展大小。我不确定这是否会对您的细胞问题有所帮助,但值得一看。幸运。
标签: iphone uitableview uitextview resignfirstresponder