Внизу первая прокрутка в SwiftUI - PullRequest
0 голосов
/ 25 сентября 2019

Как заставить SwiftUI List начать прокрутку с нижней части экрана (например, в виде чата)?

В идеале я хочу имитировать, например, поведение iMessage при обновлении списка,это означает, что он сдвигается вниз, если элемент добавляется, когда пользователь находится внизу, но сохраняет свою позицию, если пользователь прокручивал его вручную.

Список читается непосредственно из связующего массива, и порядок может быть измененесли удобно.

@ komal указал, что UITableView (бэкэнд List) имеет atScrollPosition, который должен обеспечивать эту функциональность.Однако, похоже, нет способа получить доступ к базовому представлению без полного переопределения List как UIViewRepresentable, что легче сказать, чем сделать, учитывая, что стандартная реализация полностью помещена в черный ящик и имеет закрытый исходный код.

С учетом сказанного я также опубликовал Доступ к базовому UITableView из списка SwiftUI , который, в случае его решения, может послужить ответом на этот вопрос.

1 Ответ

0 голосов
/ 25 сентября 2019

Я хотел бы предложить вместо использования scrollview использовать UITableView, так как Tablview наследует свойство scroll UIScrollview.И вы можете использовать «atScrollPosition: UITableViewScrollPositionBottom» для достижения этого поведения.

...