Important: deprecation alert
This library is being deprecated and the repository will not be maintaned, the components have moved to our UI library - please start migrating to RN-UILib.
If you want to try out our excelent (and constantly improving) UI compoenent library, please use:
import {Keyboard} from 'react-native-ui-lib';
const KeyboardTrackingView = Keyboard.KeyboardTrackingView;
If you don't want to import the whole library, you can use only the keyboard
package:
import {KeyboardTrackingView} from 'react-native-ui-lib/keyboard';
react-native-keyboard-tracking-view
A react native UI component that enables βkeyboard tracking" for this view and it's sub-views. Would typically be used when you have a TextInput inside this view.
Installation
-
Install using
npm
:npm i react-native-keyboard-tracking-view --save
-
Locate the module lib folder in your node modules:
PROJECT_DIR/node_modules/react-native-keyboard-tracking-view/lib
. -
Drag the
KeyboardTrackingView.xcodeproj
project file into your project
- Add
libKeyboardTrackingView.a
to your target's Linked Frameworks and Libraries.
How To Use
Require the native component:
import {KeyboardTrackingView} from 'react-native-keyboard-tracking-view';
Now use it in your jsx as the parent of the views you whish to track the keyboard (usually wraps a TextInput at the bottom of the screen):
<KeyboardTrackingView style={styles.textInputContainer}>
<TextInput style={styles.textInput} />
</KeyboardTrackingView>
##Native Properties
Attribute | Description |
---|---|
trackInteractive | boolean property that enables tracking of the keyboard when it's dismissed interactively. False by default. Why? When using an external keyboard (BT), you still get the keyboard events and the view just hovers when you focus the input. Also, if you're not using interactive style of dismissing the KB (or if you don't have an input inside this view) it doesn't make sense to track it anyway. (This is caused because of the usage of inputAccessory to be able to track the keyboard interactive change and it introduces this bug) |
Example Project
Check out the full example project here.
In the example folder, perform npm install
and then run it from the Xcode project.