2017-02-18 17 views
2

在原生反應中,有一個scrollTo函數,它以編程方式滾動到給定的x和y座標,不管是否爲動畫。在反應原生滾動視圖中滾動到X,Y方向的給定像素數

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

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

在一些情況下,這是有用的,但也有一些情況,其中我只想向下滾動100個像素或位置x爲200個像素,無論向上滾動,Y上的屏幕。有沒有一種方法可以在當前的react-native中編程執行此操作。

回答

0

您可以通過執行類似this answer中提到的操作來跟蹤當前的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工作的注意事項。我也沒有檢查是否打開了滾動窗口的結尾/開始,因此請檢查您的界限。

相關問題