2016-01-29 28 views
10

Tôi đã sau đây rút gọn làm cho kết quả:ReactNative TextInput không nhìn thấy được iOS

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

Các TextInput tạo không hiển thị trong iOS, trừ khi tôi xác định chiều cao, và khi sử dụng flexDirection: 'hàng' trong container , Tôi cũng cần xác định chiều rộng của nó.

Điều này chỉ xảy ra với iOS, Android dường như hoạt động như mong đợi.

Có cách nào hiển thị TextInput trong iOS không có kích thước cố định không?

phụ thuộc hiện tại:

"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

Thay đổi render như thế này:

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

có kết quả sau:

iOS:

enter image description here

Android:

enter image description here

Trả lời

26

Bạn cần phải xác định một chiều cao cho textinput. Hãy thử:

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

Hoặc, nếu bạn không muốn xác định một chiều cao trên TextInput của bạn, bạn có thể xác định chiều cao trên quan điểm chứa, và flex: 1 trên TextInput:

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

Có tôi biết nó hoạt động nếu tôi làm điều đó. Vì vậy, nó không thể chỉ có nó có không gian có sẵn như với các yếu tố khác? – Giannis

+0

Không có trong iOS. Cách duy nhất khác xung quanh nó là thêm chiều cao vào vùng chứa và 'flex: 1' vào TextInput. Tôi đã cập nhật mã của mình để hiển thị điều đó. –

+1

Có thể cần '#ededed' thay vì 'ededed' cho backgroundColor. – bitsand

0

Faced cùng một vấn đề, nhưng nó được hiển thị khi tôi xóa alignItems:'center' khỏi chế độ xem gốc nhiều nhất trong hàm render().

Các vấn đề liên quan