ionic-team / ionic-plugin-keyboard

Ionic Keyboard Plugin for Cordova
Apache License 2.0
610 stars 274 forks source link

Fix event.keyboardHeight value for iPad hardware keyboard bar #273

Open rafbm opened 7 years ago

rafbm commented 7 years ago

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.:

bar

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 the native.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):

before

After the fix, keyboardHeight now returns 55, which is the actual height of the hardware keyboard bar alone:

after

Tested with the following devices on iOS Simulator, in both portrait and landscape:

PvanHengel commented 7 years ago

Any idea when this fix will be merged we are having the same issue and would like the fix asap.

R1Daneel commented 7 years ago

Are there news about this PR? We have the same problem on our project