ReactNative TextInput不可见iOS

时间:2016-01-29 14:23:31

标签: ios react-native

我有以下剥离渲染结果:

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

生成的TextInput在iOS中不可见,除非我指定高度,并且在使用flexDirection时:&#39; row&#39;在它的容器中,我也需要指定它的宽度。

这只适用于iOS,Android似乎按预期工作。

有没有一种在没有固定大小的iOS中显示TextInput的方法?

当前依赖关系:

  "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

像这样更改渲染:

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

有以下结果:

的iOS:

enter image description here

机器人:

enter image description here

4 个答案:

答案 0 :(得分:31)

您需要为textInput定义高度。尝试:

RewriteCond %{QUERY_STRING}  (.*)(?:^|&)lang=(?:[^&]*)((?:&|$).*)
RewriteCond %1%2 (^|&)([^&].*|$)
RewriteRule ^somepage.php$ somepage.php?%2

或者,如果您不想在TextInput上定义高度,可以在包含视图上定义高度,并在TextInput上定义flex:1:

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

答案 1 :(得分:1)

遇到同样的问题,但是当我从alignItems:'center'函数中的最顶层父视图中删除render()时,它就会呈现。

答案 2 :(得分:0)

当我们在react-native中使用TextInput时,默认情况下TextInput将不会扩展以填充可用的空间,而是必须添加样式规则,即TextInput应该有多大。您无法显示TextInput

答案 3 :(得分:0)

使用stye={{color:'black'}}

这解决了问题。