UITableView: автоматически прокручивает заданную строку в верхнюю часть экрана ИЛИ в нижнюю часть - PullRequest
0 голосов
/ 01 июня 2018

Допустим, у меня есть список из 20 строк (á 44px).Если я использую этот код:

tableView.scrollToRow(at: IndexPath(item: 5, section: 0), at: UITableViewScrollPosition.top, animated: false)

, то TableView правильно прокручивается, так что пятая строка находится в верхней части экрана.

Если я делаю то же самое для элемента 18:

tableView.scrollToRow(at: IndexPath(item: 18, section: 0), at: UITableViewScrollPosition.top, animated: false)

затем tableView также «правильно» прокручивается так, что восемнадцатая строка прилипает к верхней части экрана - показывая только строки 18, 19 и 20, а затем много места под строкой 20.

Как только пользователь каким-либо образом касается tableView, содержимое быстро возвращается назад, так что строка 20 касается нижней части экрана.Это состояние, где 20 находится внизу, это то, чего я хочу достичь в первую очередь.Когда я прошу tableView прокрутить строку 18 в верхнюю часть экрана, я хочу, чтобы она сделала это only , если это естественная позиция прокрутки для tableView, или просто просто прокрутите вниз до tableView..

Требуемое / ожидаемое состояние работает при использовании animated:true, но не работает при использовании animated:false - что мне нужно оставить false (потому что мне нужно, чтобы tableView прокручивался до этой позиции, когда пользовательвходит в этот viewController).

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