У меня есть tableView с динамической высотой ячеек.
Если я добавлю новую ячейку в верхнюю часть при прокрутке до конца, она оживит правильно.
Но если я добавлюячейка к вершине, пока я прокручиваюсь, мой tableView просто прыгает.
Есть ли способ сделать это гладким?Или, что еще лучше, оставайтесь на месте?
Видео : https://youtu.be/wLNV_Kmkq0M
Код для расчета высоты:
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.section == 1 || indexPath.section == 2 {
return WorldMessageIdsStore.shared.nearby.getCellHeight(indexPath: indexPath, expanded : self.currentSelectedIndexPath == indexPath ? true : false, depending: indexPath.section == 1 ? true : false ) ?? UITableViewAutomaticDimension
} else {
return UITableViewAutomaticDimension
}
}
Код для добавления ячейки:
WorldMessageIdsStore.shared.worldMessages = newWorldMessages // updating the model
self.tableView.beginUpdates()
self.tableView.deleteRows(at: deleteIndexes, with: .fade)
self.tableView.insertRows(at: insertIndexes, with: .fade)
self.tableView.endUpdates()
Может ли кто-нибудь мне помочь?