停止ScrollView滚动



我想在React Native中阻止ScrollView滚动。我不想完全禁用它,我只想让它在特定的点停止滚动,这样我就可以在之后再次滚动它。

由于滚动动量之后仍然存在,因此不能在满足特定条件时简单地禁用它,因此下面的代码不起作用。

<ScrollView
onScroll={e => {
if (e.nativeEvent.contentOffset.y > 500) {
setStopScroll(true)
}
}}
scrollEnabled={!stopScroll}
/>

我省略了再次启用滚动视图以继续滚动的部分。

您正在寻找snapToOffsets。这将获取一个数组,其中包含您希望它停止的位置。停止后,如果再次滚动,它将在下一个偏移量处停止。同时确保snapToEnd设置为false

<ScrollView
snapToOffsets={[100,500,800]}
decelerationRate="fast"
snapToEnd={false}
snapToStart={false}
disableIntervalMomentum={true}
onScroll={onScroll}
>
... your code here
</ScrollView>

最新更新