ReactNative[IOS]點擊空白位置沒法隱藏鍵盤

最近在開發項目的需求中,測試同窗提了一個bug,在以下頁面中,有三個輸入框,在iOS手機上,輸入完以後,沒法隱藏鍵盤;安卓手機上,鍵盤都有收起按鈕,因此沒有這個問題。
在這裏插入圖片描述佈局

想到的解決方案:
一、讓輸入框失去焦點,
二、點擊背景空白位置,監聽鍵盤Keyboard事件,調用dismiss()方法隱藏軟鍵盤。
以上兩個方案,都須要寫一堆代碼,突然想到以前有相似的頁面需求,從新review了一下代碼,發現只須要在最外層佈局加一個Scrollview便可解決。測試

<ScrollView style={{flex: 1}}>
                    <View style={styles.container}>
                        ... 其餘代碼
                        <View style={{
                            marginTop: 17,
                            height: 300,
                            paddingHorizontal: 12,
                            paddingTop: 12,
                            paddingBottom: 24,
                            width: deviceWidth - 24,
                            backgroundColor: '#F9F9FB',
                            marginHorizontal: 12
                        }}>
                            <TextInput
                                style={{padding: 0}}
                                multiline={true}
                                maxLength={800}
                                textAlignVertical={'top'}
                                underlineColorAndroid={'transparent'}
                                placeholder={'請填寫您的問題或建議'}
                                value={this.state}
                                placeholderTextColor={'#999999'}
                                onChangeText={(text) => this.setState({
                                    text
                                })}
                            />
                        </View>

                    </View>
                </ScrollView>

歡迎關注我的公衆號:君偉說。
在這裏插入圖片描述flex

相關文章
相關標籤/搜索