Ios 如何在可调整大小的UITableviewCell中添加UITextView
我需要一个可调整大小的单元格内的文本视图-该单元格根据特定的计时器/秒表实时调整大小。我不能简单地将文本视图放在单元格内,因为我每10毫秒使用Ios 如何在可调整大小的UITableviewCell中添加UITextView,ios,objective-c,uitableview,uitextview,Ios,Objective C,Uitableview,Uitextview,我需要一个可调整大小的单元格内的文本视图-该单元格根据特定的计时器/秒表实时调整大小。我不能简单地将文本视图放在单元格内,因为我每10毫秒使用reloadRowsAtIndexPath:调整行的大小,这导致UITextView退出第一响应程序。我试图避免每次调用becomeFirstResponder,因此我现在所做的是创建一个外部文本视图并将其添加到表视图的顶部,因此它基本上只起到单元格内部的作用 你有什么建议吗?我还可以用一种不那么刻薄的方式做这件事吗 谢谢,伙计们 不应重新加载表(内容)以
reloadRowsAtIndexPath:
调整行的大小,这导致UITextView
退出第一响应程序。我试图避免每次调用becomeFirstResponder
,因此我现在所做的是创建一个外部文本视图并将其添加到表视图的顶部,因此它基本上只起到单元格内部的作用
你有什么建议吗?我还可以用一种不那么刻薄的方式做这件事吗
谢谢,伙计们 不应重新加载表(内容)以调整大小。只需使用:
[tableView beginUpdates];
[tableView endUpdates];
这将调整单元格的大小,但不会重新加载单元格本身,因此它不应放弃第一次重复;
[tableView EndUpdate];
如果要同时执行操作,请调用这些方法。
BeginUpdate和EndUpdate应正确嵌套在代码中。这些都是提供给我们的有效方法。因此基本上将调用heightForRow。。但不是cellForRow..?是的,这是因为您没有更新
BeginUpdate
和EndUpdate
之间的任何单元格,但是EndUpdate
强制tableView重新加载单元格高度。已尝试,但重新加载单元格高度的速度不够快。看起来太慢了-只有当我输入文本时它才会正确更新(我想单元格会被重新绘制?)。我不认为这些方法太慢,它是调整单元格大小的最有效方法。但我刚注意到你每10毫秒做一次?这是每秒100次(!)(为什么这么多?),这很可能会消耗所有的资源,使事情变得非常缓慢。试着从一个更大的间隔开始。我希望它随着音频播放而平滑地调整大小,所以我设置了它,以便它随着音频播放而更新。您是否有其他想法可以帮助我实现平滑调整大小和tableview功能?谢谢