情况1:cell的高度是自己确切计算的,具体操作如下:
刷新时候添加如下代码
UIView.setAnimationsEnabled(false)
self.mainTableView.beginUpdates()
let index = NSIndexSet.init(index: 2) as IndexSet//需要刷新的位置
self.mainTableView.reloadSections(index, with: UITableViewRowAnimation.none)
self.mainTableView.endUpdates()
UIView.setAnimationsEnabled(true)
情况2:使用了预估高度estimatedRowHeight,具体操作如下:
(1)需要在设置UI时候设置预估高度为0(此处一定要为0,否则就会抖动),即:
mainTableView.estimatedRowHeight = 0
mainTableView.rowHeight = UITableViewAutomaticDimension
(2)刷新时候添加如下代码
UIView.setAnimationsEnabled(false)
self.mainTableView.beginUpdates()
let index = NSIndexSet.init(index: 2) as IndexSet//需要刷新的位置
self.mainTableView.reloadSections(index, with: UITableViewRowAnimation.none)
self.mainTableView.endUpdates()
UIView.setAnimationsEnabled(true)
网友评论