2017-01-30 5 views
8

Ich möchte ich folgendes erreichen:Wie zIndex verwenden, in reagieren-native

enter image description here

Die folgenden Bilder sind das, was ich jetzt tun kann, aber das ist nicht das, was ich will. scenarioAscenarioB

Beispielcode Ich habe jetzt:

renderA() { 
    return (
     <View style={ position: 'absolute', zIndex: 0 }> // parent of A 
      <View style={ zIndex: 2 }> // element A 
      </View> 
      <View style={ zIndex: 2 }> // element A 
      </View> 
     </View> 
    ); 
} 

renderB() { 
    return (
     <View style={ position: 'absolute', zIndex: 1 }> // element B 
     </View> 
    ); 
} 


render() { 
    return (
     <View> 
      {this.renderA()} 
      {this.renderB()} 
     </View> 
    ); 
} 

es in Worte zu fassen, ich will

  • Elternteil A: unten alles sein.
  • Element B: bei der obigen Mutter A zu sein, aber unterhalb Element A.
  • Element A: über alles.

Beachten Sie, dass Elternteil A und Element B haben beide absolut positioniert sein, und beide Elemente A und B Elemente haben klickbare sein ...!

Antwort

2

ich das endlich gelöst durch die Schaffung ein zweites Objekt, das B. imitiert

Mein Schema sieht nun wie folgt aus:

enter image description here

ich jetzt B1 haben (innerhalb pare nt von A) und B2 außerhalb davon.

B1 und B2 liegen direkt nebeneinander, also sieht es für das bloße Auge aus, als wäre es nur ein Objekt.

1

Ich glaube, es gibt verschiedene Wege, dies zu tun auf, was Sie genau brauchen, aber ein Weg wäre, nur die beiden Elemente A und B innerhalb Elternteil A. setzen

<View style={ position: 'absolute' }> // parent of A 
     <View style={ zIndex: 1 } /> // element A 
     <View style={ zIndex: 1 } /> // element A 
     <View style={ zIndex: 0, position: 'absolute' } /> // element B 
    </View> 
+0

Ich dachte daran, aber ich muss die Struktur beibehalten, wie es ist ..! Es gibt einen guten Grund, warum ich Elemente B in der übergeordneten Ansicht von A nicht hinzufügen möchte. Ich habe meine Frage vereinfacht, aber es gibt viele ** Eltern von A ** Ansichten, die viele Elemente A enthalten. Ich schätze die Antwort, danke. – SudoPlz

+0

Ich glaube nicht, dass es möglich ist, es so zu machen, wie Sie es wollen. Der Z-Index des Elternteils wird zuerst ausgewertet, dann werden die Kinder mit anderen Kindern verglichen. Hier ist ein ähnlicher Beitrag der ins Detail geht: http://StackOverflow.com/Questions/7490146/Z-Index-Relative-Or-Absolute –

+0

Hmm, ich dachte mir sowas halten das letzte Bild (3.Szenario) aber dh Berührungen des * Elternteils A * (die ohnehin transparent sein werden) ignorieren und das Ereignis an * Element B * übergeben, auch wenn es unter * Eltern A * liegt. Und natürlich, wenn * Element A * gerendert wird, sollte es immer den Berührungshandler erhalten. – SudoPlz

Verwandte Themen