Reputation: 33
I use an UITableView with autoLayout cell and set "UITableView.automaticDimension". When I invoke the function "reloadData()" the controller will flash.
Upvotes: 1
Views: 50
Reputation: 490
try this may help you:
let offset = self.tableView.contentOffset
let yOffset = offset.y
self.tableView.reloadData()
DispatchQueue.main.async {
let maxOffset = self.tableView.contentSize.height - self.tableView.bounds.height
if yOffset > maxOffset {
self.tableView.layoutIfNeeded()
self.tableView.setContentOffset(CGPoint(x: Metric.zero, y: maxOffset), animated: false)
} else if yOffset > Metric.zero {
self.tableView.layoutIfNeeded()
self.tableView.setContentOffset(offset, animated: false)
}
}
Upvotes: 1