2016-09-23 76 views
4

讓我說我有兩個簡單的動畫視圖。我想知道哪個View被淘汰。我如何通過任何參數或任何其他方式來檢測?謝謝panHandlers處理多個PanResponder的參數?

<Animated.View {...this._panResponder.panHandlers}></Animated.View> 
<Animated.View {...this._panResponder.panHandlers}></Animated.View> 
+0

您是否找到解決方案? –

+0

@AidanDoherty沒有。 – cjmling

+0

嗯唯一的解決方案,我能想到的是創建兩個不同的泛響應可能像Button1Responder和Button2Responder,可以做onGrant不同的事情。 –

回答

0

我還沒有測試過,但我認爲你應該能夠爲每個視圖創建不同的響應者,類似於下面的例子。

this._firstPanResponder = PanResponder.create({ 
    onPanResponderGrant: (evt, gestureState) => { 
    // Do something when the first responder is granted 
    this.doFirst(); 
    }, 
}); 
this._secondPanResponder = PanResponder.create({ 
    onPanResponderGrant: (evt, gestureState) => { 
    // Do something when the second responder is granted 
    this.doSecond(); 
    }, 
}); 

然後,視圖應該看起來像這樣。

<Animated.View {...this._firstPanResponder.panHandlers}></Animated.View> 
<Animated.View {...this._secondPanResponder.panHandlers}></Animated.View> 

希望這會有所幫助。

+0

那麼如果有50個動畫視圖,50個不同的泛響應者? – cjmling

+0

與使用50個可觸摸組件相比,它們與使用panResponder的方式有很大不同。但我可能是錯的。 –

+0

這也取決於你想要什麼不同的意見。在我的情況下,我只想告訴哪些組件已被觸及並重用onPanResponderMove函數。 –