2016-01-29 26 views
10

Ich habe machen folgende abgespeckte Ergebnis:ReactNative TextInput- nicht sichtbar IOS

return (
    <View style={{backgroundColor:'red'}}> 
    <TextInput value={'Hello'}/> 
    </View> 
); 

Der erzeugte TextInput- ist nicht sichtbar in IOS, wenn ich die Höhe angeben, und wenn flexDirection verwendet: ‚Reihe‘ in seinem Behälter , Ich muss auch seine Breite angeben.

Das passiert nur mit iOS, Android scheint zu funktionieren wie erwartet.

Gibt es eine Möglichkeit, einen TextInput in iOS ohne feste Größe anzuzeigen?

Aktuelle Abhängigkeiten:

"dependencies": { 
    "react-native": "=0.18.1", 
    "react-native-orientation": "=1.12.2", 
    "react-native-vector-icons": "=1.1.0" 
    }, 

iOS:

enter image description here

Android:

enter image description here

Ändern der wie folgt machen:

return (
    <View style={{backgroundColor:'red'}}> 
    <Text>text</Text> 
    <TextInput value={'Hello'}/> 
    </View> 
); 

hat das folgende Ergebnis:

iOS:

enter image description here

Android:

enter image description here

Antwort

26

Sie benötigen eine Höhe für die textinput zu definieren. Versuchen:

return (
    <View style={{backgroundColor:'red'}}> 
    <Text>text</Text> 
    <TextInput style={{ backgroundColor: '#ededed', height: 60 }} value={'Hello'}/> 
    </View> 
); 

Oder, wenn Sie nicht eine Höhe auf TextInput- definieren wollen, können Sie die Höhe auf der enthaltenden Ansicht definieren kann, und flex: 1 auf dem TextInput-:

<View style={{ height:60 }}> 
    <TextInput style={{ flex:1, backgroundColor: '#ededed' }} /> 
</View> 
+0

Ja, ich weiß, dass es funktioniert, wenn ich das tue. Es ist also nicht möglich, den verfügbaren Platz wie bei anderen Elementen zu nutzen. – Giannis

+0

Nicht in iOS. Der einzige andere Weg ist es, dem Container eine Höhe hinzuzufügen und dem TextInput eine 'flex: 1' hinzuzufügen. Ich habe meinen Code aktualisiert, um das zu zeigen. –

+1

Möglicherweise muss '#edded' anstelle von 'ededed' für backgroundColor verwendet werden. – bitsand

0

Faced das gleiche Problem, aber es gerendert, wenn ich alignItems:'center' von der obersten Elternansicht in der render() Funktion entfernt.

Verwandte Themen