前言
我们都知道,在app的开发中输入框被键盘遮挡已经是众所周知的问题了。
在android系统的app中系统已经作恶键盘自适应。就是当输入框将要被键盘遮挡的时候,输入框会自动向上移动,达到不被键盘遮挡的程度;
那么在iOS中,系统没有处理。一般我们会对键盘的做事件的监听,来手动控制输入框的位置。
在后来随着IQKeyBoardManage
r的应用,在iOS中也实现了输入框随着键盘的高度而移动。
那么问题来了,在react-native
中,开发的iOS应用存在这样的问题。而android没有。
方案
-
在iOS项目中使用Pod管理项目,引用
IQKeyBoardManager
这种方案虽然可以实现键盘的字使用高度,但是这样太过依赖于native项目。
-
用react-native插件话的思想封装了这个IQKeyBoardManager
这种方案直接安装这个库,执行linK命令就可以了,完全不依赖于iOS工程项目
使用
npm install --save react-native-keyboard-mgr
如果你想在某些场景禁用键盘自适应,只需要使用setEnabled(false)
就可以了,
如果你想启用, 只需要使用setEnabled(true)
就可以了。
react-native-keyboard-mgr 为什么叫react-native-keyboard-mgr呢?应为/react-native-keyboard-manager已经被占用了。多么痛的领悟!!!
结语
从此键盘自适应完美解决!
推荐文章
vue的toast和loading组件