Версия Flutter: 3.24.0 < /li>
DART версия: 3.5.0 < /li>
< /ul> iOS < /p>
Навигация: Использование Navigator.push и возвращение с жестом смахивания iOS < /p>
Устройства: симулятор iPhone и реальные устройства < /p>
Пройдите обратно на экран A Использование нативного жеста iOS. < /li>
Попробуйте сразу прокрутить - ничего не происходит. < /li>
Scroll работает только после выпуска и попытки снова. />
Есть ли какое-либо чистое исправление для восстановления поведения прокрутки после отступления? Обходные пути): < /p>
Использование свежего ScrollController на каждом экране →
Присвоение PagestorageKey для ListView →
Избегание первичного: версии incollecter →
За короткую продолжительность →
Запуск jumpto (_controller.offset) после didPopnext () через RouteAware →
< /ul>
class ScreenA extends StatelessWidget {
final ScrollController _controller = ScrollController();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Screen A')),
body: ListView.builder(
key: PageStorageKey('screen_a'),
controller: _controller,
itemCount: 50,
itemBuilder: (_, index) => ListTile(title: Text('Item $index')),
),
);
}
}
< /code>
. Обзор списка должен прокручивать сразу после возвращения из жеста с проливным списком. Пользователь должен поднять палец и попробовать еще раз.
Подробнее здесь: https://stackoverflow.com/questions/796 ... hed-screen