2016-09-23 6 views
4

私は単純なアニメーションのビューが2つあるとしましょう。私はViewがパンされていることを知りたい。どのようにパラメータを渡すのですか、それとも他の方法で検出するのですか?ありがとう複数のPanResponderを処理するためのパラメータpanHandlers?

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

解決方法を見つけましたか? –

+0

@AidanDoherty Nope。 – cjmling

+0

唯一の解決策は、2つの異なるパンレスポンダーを作成することです(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のTouchableコンポーネントを使用しても、panResponderだけを使用するのとはかなり異なるでしょうか。私は間違っている可能性があります。 –

+0

これはまた、さまざまなビューで何を実行するかによって異なります。私の場合、私はちょうどどのコンポーネントが触れているのかを知り、onPanResponderMove関数を再利用したいと思っています。 –

関連する問題