簡體   English   中英

如何檢測觸摸是否超出了PanResponder中View的邊界?

[英]How can I detect if the touch is over the border of a View from PanResponder?

我正在研究圖像裁切器,盡管它不是一個完美的解決方案,但我仍然以某種方式想出了如何移動裁切器,但是它可以工作,但是現在我想響應給定視圖的邊框觸摸/移動

我正在使用此模塊進行整合,但實際上我仍然停留在如何響應邊框觸摸/移動的問題上

gestureState參數足以完成任務。

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

因此moveX === x0表示當前觸摸位於左邊緣。 同樣, moveY === y0表示當前觸摸位於頂部邊緣。

為了處理右邊緣和下邊緣,建議您使用<View>標記中的onLayout並將<View>高度和寬度分配給某些變量或狀態變量(請注意性能優化)

然后以類似方式使用它:

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 } />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM