wix-incubator / react-native-keyboard-input

Use your own custom input component instead of the system keyboard
MIT License
819 stars 150 forks source link

iOS: Keyboard covers input when predictive text is disabled and TextInput has multiline enabled #74

Open michaelcurtis opened 5 years ago

michaelcurtis commented 5 years ago

react-native: 0.57.7 macOS: 10.14.3 Xcode: 10.1 (10B61) Device: iPhone X iOS: 12.1.4 react-native-keyboard-input@5.3.1 react-native-autogrow-textinput@5.2.0

Component: KeyboardAccessoryView

Description: With predictive text disabled in the iPhone settings: the keyboard covers the TextInput after showing a custom keyboard then focusing the TextInput field. With predictive text enabled it works fine.

Clue: I narrowed it down to "multiline" in the TextArea. If "multiline" is disabled it works as expected. react-native-autogrow-textinput has multiline enabled by default, so the demoScreen.js doesn't work out of the box when you disable "predictive" mode.

Steps to reproduce:

  1. Disable predictive text on iPhone in: Settings > General > Keyboard
  2. Run demoScreen.js (from this package)
  3. Open a custom keyboard ("show1")
  4. Focus the TextInput.

I have omitted the code for brevity, but I am running copy/paste from demoScreen.js. Thanks in advance for taking a look and for creating this otherwise great package!

Screenshot of step 3: IMG_1753

Screenshot of step 4: IMG_1754

silverbuggy commented 5 years ago

I have the same issue on simulator when I set autoCorrect={false} on TextInput, which I believe has the same effect as disabling predictive text. I see the bug regardless of whether TextInput has multiline enabled. It only covers input if I first bring up the alternate keyboard and then focus on the text input. If I bring up the real keyboard first and then switch to alternate keyboard it's fine.

mlapeter commented 5 years ago

@michaelcurtis Curious were you ever able to resolve this? I'm seeing same.

michaelcurtis commented 5 years ago

@mlapeter Unfortunately not. I ended up sticking with a hand-rolled implementation.

dekameron22 commented 5 years ago

+1