2016-09-23 2 views
4

Sagen wir, ich habe zwei einfache animierte Ansicht. Ich möchte wissen, welche View wird geschwenkt. Wie übergebe ich einen Parameter oder eine andere Art der Erkennung? DankeParameter zu panHandlers, um mehrere PanResponder zu behandeln?

+0

Haben Sie eine Lösung gefunden? –

+0

@AidanDoherty Nein. – cjmling

+0

Hmm einzige Lösung, die ich mir vorstellen kann, ist die Schaffung von zwei verschiedenen Pan-Respondern wie Button1Responder und Button2Responder, die verschiedene Dinge onGrant tun können. –

Antwort

0

Ich habe das nicht getestet, aber ich denke, dass Sie in der Lage sein sollten, verschiedene Responder für jede Ansicht ähnlich dem folgenden Beispiel zu erstellen.

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(); 
    }, 
}); 

Dann sollte die Ansicht wie folgt aussehen.

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

Hoffe, das hilft.

+0

Also, wenn 50 animierte Ansicht, 50 verschiedene Pan-Responder? – cjmling

+0

Wäre es viel anders als die Verwendung von 50 Touchable-Komponenten, ziemlich sicher, dass sie auch panResponder verwenden. Ich könnte mich allerdings irren. –

+0

Es hängt auch davon ab, was Sie die verschiedenen Ansichten tun möchten. In meinem Fall möchte ich nur sagen, welche Komponente berührt wurde und die Funktion onPanResponderMove wieder verwendet. –

Verwandte Themen