2016-09-23 78 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函数。 –