2016-02-26 88 views

回答

1

gestureState參數足以完成任務。

x0和y0是響應者視圖的左上角座標,此外,moveXmoveY保存觸摸的當前座標。

所以moveX === x0表示當前觸摸位於左邊緣。 同樣moveY === y0表示當前觸摸位於頂邊。

如需辦理右側和底部邊緣,我建議你在<View>標籤使用onLayout並指定視圖的高度和寬度的一些變量或狀態變量(照顧表演的優化的)

,然後用它在類似的方式:

onPanresponderMove(evt, {x0, y0, moveX, moveY) { 
     ... 
     if(moveX=== x0 || moveX === x0 + this.state._currentWidth) { 
     // task for left and right edge response 
     ... 
     } 
     ... 
    } 

要獲得視圖寬度:

<View {...this._myResponder.panHandlers} 
      onLayout={ ({width, height}) => this.state._currentWidth = width } /> 
相關問題