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>

欢迎关注个人公众号:君伟说。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值