我使用UITableView,我希望更改高度不同的单元格。但我不想使用重载数据,因为我的表视图包含UITextView,我现在编辑并且UIKeyBoard已启动。
答案 0 :(得分:16)
您正在UITableView上寻找reloadRowsAtIndexPaths:方法。它将触发重新计算特定细胞的高度(以及随后的重绘)。它甚至可以为调整设置动画,以便您可以在用户滚动时实时更新,以便在重新计算高度时表格视图不会“抖动”或“断续步”。我刚刚成功实现了你所描述的内容。
答案 1 :(得分:2)
您可以调用beginUpdates && endUpdates
,这将导致表格单元格高度重新校正,
没有重新加载整个单元格
UIView.setAnimationsEnabled(false)
self.tableView.beginUpdates()
self.tableView.endUpdates()
// Re-enable animations
UIView.setAnimationsEnabled(true)