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

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

想到的解決方案:
1、讓輸入框失去焦點,
2、點擊背景空白位置,監聽鍵盤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>

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章