This repository has been archived by the owner on Apr 2, 2018. It is now read-only.
Fix event.keyboardHeight value for iPad hardware keyboard bar #273
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Disclaimer: this is the first ever Objective-C I wrote in my life. In fact, I just byte-for-byte copied the code from cordova-plugin-keyboard.
When connecting a hardware keyboard, iPads hide the full software keyboard but still show a reduced bar with undo / redo / paste, etc.:
This can be tested by hitting Cmd + Shift + K or Hardware > Keyboard > Connect Hardware Keyboard in the iOS Simulator.
Before the fix, the
keyboardHeight
value of thenative.keyboardshow
event with hardware keyboard connected was 313, exact same as full software keyboard. For instance, this caused our app to apply a wrong margin-bottom, as shown here (light grey area):After the fix,
keyboardHeight
now returns 55, which is the actual height of the hardware keyboard bar alone:Tested with the following devices on iOS Simulator, in both portrait and landscape: