通过 react-native-keyboard-aware-scroll-view 解决键盘遮盖输入框的问题

1.安装

yarn add react-native-keyboard-aware-scroll-view

2.引入

import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'

3.调用

<KeyboardAwareScrollView>
  <View>
    <TextInput />
  </View>
</KeyboardAwareScrollView>

4.常用方法

(1)跳到自定输入框

_scrollToInput (reactNode: any) {
  // Add a 'scroll' ref to your ScrollView
  this.scroll.scrollToFocusedInput(reactNode)
}

<KeyboardAwareScrollView innerRef={ref => {this.scroll = ref}}>
  <View>
    <TextInput onFocus={(event: Event) => {
      // `bind` the function if you're using ES6 classes
      this._scrollToInput(ReactNative.findNodeHandle(event.target))
    }} />
  </View>
</KeyboardAwareScrollView>

(2)监听 键盘显示或隐藏 onKeyboardWillShow 和 onKeyboardWillHide:

<KeyboardAwareScrollView
  onKeyboardWillShow={(frames: Object) => {
    console.log('Keyboard event', frames)
  }}>
  <View>
    <TextInput />
  </View>
</KeyboardAwareScrollView>

5.效果图

 

posted @ 2018-09-04 18:23  每天都要进步一点点  阅读(5062)  评论(1编辑  收藏  举报