17

我使用 UITableView,我想改变不同单元格的高度。但我不想为此使用重新加载数据,因为我的表格视图包含我现在编辑的 UITextView 并且 UIKeyBoard 已启动。

4

2 回答 2

17

您正在寻找 UITableView 上的 reloadRowsAtIndexPaths: 方法。它将触发重新计算特定单元格的高度(以及随后的重绘)。它甚至可以为调整设置动画,以便您可以在用户滚动时实时进行更新,这样表格视图就不会在重新计算高度时“晃动”或“步履蹒跚”。我刚刚成功实施它来做你描述的事情。

来源: 更新 UITableViewCell 无需重新加载

于 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 回答