2017-01-12 5 views
1

Mein natives iOS hat TabBarController als Root-View-Controller. Ich habe einen PageViewController auf dem Startbildschirm (der ein Behälter Ansicht ist), wobei 1 der AnsichtenIst es möglich, dass ein ListView eine untergeordnete Ansicht hat?

Tor Reagieren Native unterstützt: Display-Pop-Up-Ansicht und ermöglicht Benutzer Tabs wechseln

Ich habe versucht, mit einem modalen & die Alert-API für die Anzeige. Das Popup funktioniert perfekt, aber beide Maske über den gesamten Bildschirm & die einzige Möglichkeit, die Interaktion wieder aufzunehmen ist durch Drücken der CANCEL Schaltfläche in Alert. Die Maskierung macht das Umschalten von Tabs nicht möglich.

Da ich die Maske für modal oder alertView nicht entfernen kann, versuche ich stattdessen eine Ansicht zu rendern, die ein Kind von ListView ist. Hier ist meine render() Funktion

 return (
     <View style={{flex:1}}> 
      <ListView 
       onEndReachedThreshold={-5} 
       renderFooter={this._renderFooter} 
       onEndReached={this.onEndReached} 
       contentContainerStyle={styles.list} 
       dataSource={this.state.dataSource} 
       renderRow = {(rowData) => Row(rowData)}> 

       <View style={styles.popUpStyle}> 

       </View> 

     </ListView> 
     </View> 
    ) 
} 

My Stylesheets als

list: { 
    justifyContent: 'center', 
    alignItems : 'center', 
    flexDirection: 'row', 
    flexWrap: 'wrap', 
    opacity : 1 
}, 
popUpStyle : { 

    width: widthOfScreen - 50, 
    height: heightOfScreen/3, 
    backgroundColor:'#000000', 
    borderRadius: 5, 
    shadowColor:'#000000', 
    shadowRadius:5, 
    shadowOpacity:0.8 
} 

I folgt wurde eine Sicht erwartet in der Mitte des Bildschirms als Listview die erscheinen auf der Grundlage der Arten Ich habe aber leider gibt ist nichts. Kann ein listView eine untergeordnete Ansicht haben? Was noch wichtiger ist, kann ich eine Popup-Ansicht ohne Maske machen?

+0

Warum ist das mit Android markiert? –

+0

@ChantellOsejo getaggt, weil die Macht mit React-Native stark ist und einige Android-Ingenieure sich vielleicht zur dunklen Seite gewandt haben. – MrDank

+0

Sie möchten also, dass eine Ansicht in der Mitte des Bildschirms angezeigt wird, während die Benutzer weiterhin die Tab-Navigation verwenden können, ohne die Ansicht schließen zu müssen? Wenn nicht, Entschuldigung aber können Sie es mehr erklären? –

Antwort

0

Kann ein listView eine untergeordnete Ansicht haben?

Nicht, dass ich weiß.

Noch wichtiger kann ich eine Popup-Ansicht ohne Maske machen?

Natürlich können Sie. Sie brauchen nur etwas absolute Magie. Ich mache etwas ähnliches „Toast“ zeigen:

Die Stile:

component: { 
    position: 'absolute', 
    left: 0, 
    right: 0, 
    alignItems: 'center' 
}, 
content: { 
    backgroundColor: red, 
    borderRadius: 0, 
    padding: 10, 
    height: 56, 
    justifyContent: 'center' 
}, 
text: { 
    color: white, 
    textAlign: 'left', 
    fontSize: 18 
} 

Die Komponente:

<View style={styles.component} pointerEvents='none'> 
    <View style={styles.content}> 
     <Text numberOfLines={1} style={styles.text}>{this.state.text}</Text> 
    </View> 
</View> 

Meine „Toast“ sind nicht interaktiv, aber das ist eine Übung für Sie hinterlassen.

+0

Hier ist das Problem, das ich 's' habe – MrDank

+0

Chuck mein vorheriger Kommentar .. Hier ist das Problem, das ich habe, hat die Container-Ansicht Listenansicht und die Toast-Ansicht. Die Toast-Ansicht muss über ListView angezeigt werden. Das löst mein Problem nicht. @Edelshell – MrDank

+0

Ein Toast wird über allen anderen Komponenten angezeigt, aber er muss an der richtigen Stelle platziert werden, nicht in der ListView – Eldelshell

Verwandte Themen