React Native 停止ScrollView滚动

oxcyiej7  于 2022-12-24  发布在  React
关注(0)|答案(1)|浏览(323)

我想停止一个ScrollView在React Native中滚动。我不想完全禁用它,我只想让它在一个特定的点停止滚动,这样我就可以在之后再次滚动它。
由于滚动的势头仍然存在之后,我不能简单地禁用它时,满足一定的条件,所以下面的代码不工作。

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

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

rkttyhzu

rkttyhzu1#

你正在寻找snapToOffsets。这需要一个你想让它停止的位置数组。在它停止后,如果你再次滚动,它将停止在下一个偏移量。还要确保snapToEnd设置为false

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

相关问题