2017-02-04 1 views
0

Die Komponente Init versteckt sich nach der Implementierung von Drawer zu NavBar hinter der Navigationsleiste. Ohne Drawer konnte ich leicht paddingTop zur root (root) Komponente hinzufügen und das Problem würde gelöst werden.RNRF - Komponente versteckt sich hinter NavBar

<Router renderLeftButton={this.navBarButton}> 
    <Scene 
     key="drawer" 
     component={DrawerComponent} 
     open={false} 
    > 
     <Scene key="main" > 
     <Scene key="index" component={Init} title="First page!" /> 
     <Scene key="counter" component={Counter} title="Counter" /> 
     <Scene key="posts" component={Posts} title="Posts" /> 
     </Scene> 
    </Scene> 
    </Router> 

Component hidden behind

Wenn ich paddingTop auf root für die globale Polsterung hinzufügen, es gibt extra Polsterung auf beiden Navbar und Coponent zurück.

Ich bekomme das gewünschte Ergebnis durch Hinzufügen von PaddingTop zu jedem Kinder Szenen, aber das wäre hektisch. z.B. <Scene key="index" component={Init} title="First page!" sceneStyle={{paddingTop: 64}} />

Antwort

0

Ich habe noch eine Lösung zu sehen, die keine Art von paddingTop verwendet, um dieses Problem zu lösen. Anstatt jedoch die Stile zu jeder Szene hinzuzufügen, können Sie sie zu der Router hinzufügen, die für jede Szene gilt.

<Router renderLeftButton={this.navBarButton} sceneStyle={{ paddingTop: 65 }}> 
    <Scene /> 
    <Scene /> 
</Router> 
+0

Hallo, habe ich versucht, die Polsterung auf Router hinzufügen, aber es macht eine ungewöhnliche Polsterung auf beiden Navigationsleiste UND Komponente ... Sie können den Effekt auf zweiten Screenshot auf die obige Frage sehen. Als Referenz habe ich ein Repo für diese hochgeladen, bitte werfen Sie einen Blick: https://github.com/akusany2/RNBoiler/blob/master/src/Router.js – Ank

+0

Hatte das gleiche Problem, ich setze SzeneStyle Requisite auf jede Szene jetzt :( – binchik

Verwandte Themen