ionic-team / capacitor-plugins

Official plugins for Capacitor ⚡️
529 stars 594 forks source link

fix(keyboard): Remove iOS keyboard delay (#1904) #2233

Open aeharding opened 1 week ago

aeharding commented 1 week ago

This fix aligns with the Android implementation of no delay.

This fix removes all keyboard delay, including the 0.01 second delay for hiding. I believe this delay existed due to a slight flicker observed when setting delay to 0. However, by wrapping the height javascript logic in requestAnimationFrame() the flicker is no longer present.

I believe this is a better solution than #2230 because it avoids adding animations. (Users can do this themselves by disabling resizing and hooking into keyboardWillShow, didShow, willHide, and didHide events in javascript. Also, if and when an animation is added, should also be added to Android too.)

It also avoids magic/arbitrary delay amounts, like 0.01.

Issue reference: #1904.