滚动到x,y方向给定反应本机scollview中的像素数



在反应本机中有一个滚动函数,可以编程滚动到给定的x和y坐标,或者动画。

https://facebook.github.io/react-native/docs/scrollview.html#scrollto

scrollTo({x: 0; y: 0; animated: true})

在某些情况下,这很有用,但是在某些情况下,我只想向下滚动100像素或滚动200像素,无论屏幕上的位置x,y位置如何。有没有办法在当前在反应中进行编程。

您可以通过执行此答案中提到的操作来跟踪当前的X和y滚动位置。因此:

<ScrollView
  ref={(scrollView) => { this._scrollView = scrollView; }}
  onScroll={this.handleScroll}
/>
handleScroll = (event: Object) => {
    this.setState({scrollX: event.nativeEvent.contentOffset.x, scrollY: event.nativeEvent.contentOffset.y})
}

然后,您可以使用Scrollto和当前位置移动滚动/-任何您想要的。示例:

moveScroll = () => {
    this._scrollView.scrollTo({y: this.state.scrollY + 100});
}

确实可以仔细阅读链接的stackoverflow答案,但要了解OnsCroll工作方式的警告。我也没有检查您是否达到滚动窗口的结尾/开始,请检查您的界限。

相关内容

  • 没有找到相关文章

最新更新