Я использую React Native, и у меня возникают проблемы с сохранением вертикального центрирования элементов, как только я представляю ScrollView. Чтобы продемонстрировать, я создал 3 приложения с React Native Playground. Все примеры имеют 2 страницы, и их можно переключать, нажимая голубую кнопку.
Пример 1:
В этом первом примере показаны вертикальные вертикальные блоки на странице 2. Это происходит потому, что к контейнеру применяются эти стили:
flex: 1,
flexDirection: 'column',
justifyContent: 'center',
https://rnplay.org/apps/lb5wSQ
Однако возникает проблема, как только вы переключаетесь на страницу 2, потому что все содержимое страницы не подходит, поэтому нам нужно ScrollView
.
Пример 2
В этом примере я обертываю все внутри ScrollView. Это позволяет прокручивать страницу 2, но теперь я потерял вертикальное центрирование страницы.
https://rnplay.org/apps/DCgOgA
Пример 3
Чтобы попытаться вернуть вертикальное центрирование страницы 1, я применяю flex: 1
к contentContainerStyle
ScrollView. Это фиксирует вертикальное центрирование на стр. 1, но я больше не могу прокручивать весь путь вниз до нижней части страницы на странице 2.
https://rnplay.org/apps/LSgbog
Как я могу исправить это, чтобы получить вертикальное центрирование элементов на стр. 1, но все же получить ScrollView для прокрутки до конца на странице 2?