ReactNative[IOS]点击空白位置无法隐藏键盘

简介: ReactNative[IOS]点击空白位置无法隐藏键盘

最近在开发项目的需求中,测试同学提了一个bug,在如下页面中,有三个输入框,在iOS手机上,输入完之后,无法隐藏键盘;安卓手机上,键盘都有收起按钮,所以没有这个问题。

微信图片_20220609192932.png

想到的解决方案:

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
                                })}
                            />
目录
相关文章
|
5月前
|
存储 安全 编译器
我给 iOS 系统打了个补丁——修复 iOS 16 系统键盘重大 Crash
我给 iOS 系统打了个补丁——修复 iOS 16 系统键盘重大 Crash
151 2
我给 iOS 系统打了个补丁——修复 iOS 16 系统键盘重大 Crash
|
2月前
|
iOS开发
iOS超出父控件范围无法点击问题
iOS超出父控件范围无法点击问题
140 58
|
2月前
|
iOS开发
iOS超出父控件范围无法点击问题
iOS超出父控件范围无法点击问题
|
3月前
|
iOS开发 开发者
iOS 16 系统键盘修复问题之汇编层面模拟两次返回操作的实现如何解决
iOS 16 系统键盘修复问题之汇编层面模拟两次返回操作的实现如何解决
|
3月前
|
存储 iOS开发
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类对_lock的加锁和解锁操作如何解决
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类对_lock的加锁和解锁操作如何解决
|
3月前
|
编译器 C语言 iOS开发
iOS 16 系统键盘修复问题之确定_lock是否用于保护对_deferredTasks的多线程读写如何解决
iOS 16 系统键盘修复问题之确定_lock是否用于保护对_deferredTasks的多线程读写如何解决
|
3月前
|
存储 安全 iOS开发
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类中对_lock的使用是否正确如何解决
iOS 16 系统键盘修复问题之确定UIKeyboardTaskQueue类中对_lock的使用是否正确如何解决
|
iOS开发
我给 iOS 系统打了个补丁——修复 iOS 16 系统键盘重大 Crash(下)
我给 iOS 系统打了个补丁——修复 iOS 16 系统键盘重大 Crash(下)
444 1
|
6月前
|
iOS开发
解决使用document.activeElement.blur()禁止弹出手机默认键盘ios版本17以上会出现闪屏问题
解决使用document.activeElement.blur()禁止弹出手机默认键盘ios版本17以上会出现闪屏问题
74 2
|
6月前
|
前端开发 安全 Linux
React Native 打包 App 发布 iOS 及加固混淆过程
本文将介绍如何使用 React Native 打包并发布 iOS 应用到 App Store,并介绍了如何进行应用的加固和混淆过程。