2016-02-26 81 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 } /> 
相关问题