I just tested Cordova 3.1 with a sample iOS app and experienced several keyboard issues.
App settings:
- Xcode 5
- Status bar is hidden
- Landscape mode
config.xml
Issues:
All versions: when focus on an input field then whole view is pushed up including navbar.
iOS5/6: tap on an input field to open keyboard, then a black gap is briefly displayed at top of screen before keyboard pushes whole view up (is it status bar?)
iOS7: there is no black gap like #2 issue, but there are other issues:
I still see accessories bar before it's removed (hidden).
Keyboard is translucent then I can see darker background in the space where current view is pushed up.
If I changed , things are even worse:
View is still pushed up, and when input field loses focus then a black gap is flickring at the top of screen, even on iOS 7, what doesn't happen if KeyboardShrinksView = false.
Keyboard is no longer translucent on iOS 7.
Below is my config.xml
<preference name="DisallowOverscroll" value="true" />
<preference name="HideKeyboardFormAccessoryBar" value="true" />
<preference name="KeyboardDisplayRequiresUserAction" value="false" />
<preference name="KeyboardShrinksView" value="true" />
<preference name="SuppressesIncrementalRendering" value="false" />
<preference name="TopActivityIndicator" value="gray" />
<preference name="EnableLocation" value="false" />
<preference name="EnableViewportScale" value="false" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
<preference name="AllowInlineMediaPlayback" value="false" />
<preference name="BackupWebStorage" value="none" />
<preference name="Fullscreen" value="true" />
<preference name="Orientation" value="landscape" />