Я создаю приложение, которое имеет 6 различных вкладок, расположенных вертикально на экране.При нажатии на вкладку будет переключаться ее содержимое.
Я делаю скролл-просмотр, который бы подходил всем этим большим материалам.При нажатии на вкладку экран автоматически прокручивается до положения вкладки, поэтому содержимое может отображаться без необходимости прокрутки пользователем вниз.
Моя логика заключается в том, что при нажатии на вкладку запускается событие из этой вкладки TouchableOpacity, которая содержит положение вкладки на экране (пусть это называетсякак pageY).Затем сделайте setState, чтобы сделать toggle = true, и сделайте обратный вызов setState, скажем, если toggle = true, затем перейдите к pageY + текущей позиции экрана
<TouchableOpacity
onPress={evt => {
let { pageY } = evt.nativeEvent;
this.setState(
{
eToggle: !this.state.eToggle,
},
() => {
if (this.state.eToggle) {
this.scrollView.scrollTo({
y: this.scrollY + pageY,
animated: true,
});
} else {
this.scrollView.scrollTo({
y: 0,
animated: true,
});
}
}
);
}}>
<Text style={{ color: 'black', fontSize: 24 }}>E Tab</Text>
</TouchableOpacity>
И у меня возникла проблема, заключающаяся в том, что прокрутка неработает правильно При нажатии на вкладку экран не прокручивается до этой позиции;это только прокрутить немного вниз.
Как будто что-то блокирует экран для прокрутки.
https://snack.expo.io/@rex_rau/scrollview
Спасибо