Swift - UITableView не завершает прокрутку при нажатии строки состояния - PullRequest
2 голосов
/ 03 июня 2019

У меня есть 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...