我使用 UITableView,我想改变不同单元格的高度。但我不想为此使用重新加载数据,因为我的表格视图包含我现在编辑的 UITextView 并且 UIKeyBoard 已启动。
问问题
17212 次
2 回答
17
您正在寻找 UITableView 上的 reloadRowsAtIndexPaths: 方法。它将触发重新计算特定单元格的高度(以及随后的重绘)。它甚至可以为调整设置动画,以便您可以在用户滚动时实时进行更新,这样表格视图就不会在重新计算高度时“晃动”或“步履蹒跚”。我刚刚成功实施它来做你描述的事情。
于 2011-10-18T01:36:36.883 回答
3
您可以调用beginUpdates && endUpdates
,这些将导致重新计算表格单元格的高度,而无需重新加载整个单元格
UIView.setAnimationsEnabled(false)
self.tableView.beginUpdates()
self.tableView.endUpdates()
// Re-enable animations
UIView.setAnimationsEnabled(true)
于 2018-03-05T20:30:49.987 回答