Я обнаружил, что изменение contentInset
tableView в то время как endingRefreshing()
конфликтует друг с другом.
Код:
func reloadData(){
...
self.refreshControl.endRefreshing()
self.displayInfoViewIfNeeded()
}
func displayInfoViewIfNeeded(){
if self.shouldInfoViewBeVisible == true {
self.infoView.isHidden = false
UIView.animate(withDuration: 0.25){
self.tableView.contentInset = UIEdgeInsets(top: 50, left: 0, bottom: 0, right: 0)
}
} else {
self.infoView.isHidden = true
UIView.animate(withDuration: 0.25){
self.tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
}
}
}
Проблема в том, что иногда это приводит к странным исходам.
Как я мог это исправить? Мне нужно немного места сверху, если shouldInfoViewBeVisible == true
(потому что тогда я отображаю вид над таблицей Вид сверху).
Есть ли другой способ добиться этого? Или что бы вы предложили?