Ответ Джошуа довольно близок, но я сталкивался с ситуациями, в которых прокрутка будет , даже если indexPath
, на который вы хотите перейти, указан в indexPathsForVisibleRows
.
Например, если вы прокручиваете к indexPath с помощью позиции прокрутки UITableViewScrollPositionTop
, прокрутка все еще происходит, когда indexPath указан в indexPathsForVisibleRows
- если ваш indexPath
не первый видимый indexPath
и после перечисленных в indexPathsForVisibleRows
.
есть более отображаемые строки
В этом сценарии UITableView пытается прокрутить indexPath
как можно ближе к самой верхней позиции экрана.
Я не пробовал, но я ожидал бы, что UITableViewScrollPositionBottom
будет иметь аналогичный эффект, если есть отображаемые строки выше indexPath
, к которому вы будете прокручивать, и indexPath
, к которому вы прокручиваете, это не последний видимый indexPath
в indexPathsForVisibleRows
.