У меня есть UITableView с динамическими ячейками (один прототип) внутри UIViewController. Каждая ячейка имеет одинаковый идентификатор, поэтому они используются повторно. Высота ячейки разработана детально во время выполнения, потому что она содержит изображение, загруженное асинхронно и с другим соотношением. Другими словами, он работает точно так же, как и в Instagram, с нумерацией страниц.
Проблема в том, что когда я нажимаю на строку состояния, она начинает прокручиваться вверх, но останавливается до достижения вершины. Если я прокручиваю вручную до самого верха, возвращаюсь к концу таблицы и затем нажимаю на строку состояния, все работает нормально. Есть идеи, где проблема может быть? Я думаю, это зависит от повторного использования клеток ...
extension ResultsListViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return posts.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "postCell", for: indexPath) as! PostCell
cell.setPost(posts[indexPath.row])
return cell
}
}
Как видите, это довольно стандартно. Я не обрабатываю нажатие в строке состояния, просто использую поведение по умолчанию.
![UIViewController](https://i.stack.imgur.com/jT4CY.png)