-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
Seeing a blocking issue after updating to XCode 10 related to keyboard displacement and then dismissal.
When an input that would require webview centering is clicked, the viewport is repositioned to center that input, as iOS has traditionally done. However, when dismissing the keyboard, the viewport is not re-positioned properly back to its original position.
This can leave large gaps where the webview is no longer visible. In the attached screenshots, you can see that this leaves a large margin where the viewport is rendering, shifted upwards and off-screen by a 100+ pixels. There appears to be no way do re-position the viewport short of additional input focus changes, each resulting in similar offset issues.
To add some additional confusion, it appears this only happens on iOS 12 / XCode 10 produced installs, such that:
- This issue is present ONLY on builds produced in XCode 10 targeting iOS 12 devices.
- This issue affects ALL tested device types on iOS 12.
- This issue is present via Legacy AND Modern build systems
- iOS 10 / 11 devices targeted via XCode 10 are NOT affected.
- iOS 10 / 11 / 12 devices targeted via XCode 9 are NOT affected.
Any info on potential workarounds or patches would be greatly appreciated. I've already looked into upgrading our cordova-plugin-ionic-webview
plugin (as well as various others), but it appears to not have any relevance with the issue. At this point, we're looking at downgrading XCode in order to get working builds out.
Click Here to See Example Screenshots
Captured via iOS Simulator, but also experienced on various physical devices running iOS 12
Click Here for Environment Details
OS: OSX 10.13.6 (High Sierra)
XCode: 10.0 (10A255)
cordova: 8.0.0
cordova-ios: 4.5.4
cordova-plugins:
- cordova-android-support-gradle-release 1.2.0 "cordova-android-support-gradle-release"
- cordova-custom-config 5.0.2 "cordova-custom-config"
- cordova-plugin-app-event 1.2.1 "Application Events"
- cordova-plugin-apprate 1.4.0 "AppRate"
- cordova-plugin-camera 4.0.3 "Camera"
- cordova-plugin-device 2.0.1 "Device"
- cordova-plugin-dialogs 2.0.1 "Notification"
- cordova-plugin-facebook4 1.9.1 "Facebook Connect"
- cordova-plugin-file 6.0.1 "File"
- cordova-plugin-googleplus 5.2.1 "Google SignIn"
- cordova-plugin-inappbrowser 2.0.2 "InAppBrowser"
- cordova-plugin-ionic-webview 1.1.16 "cordova-plugin-ionic-webview"
- cordova-plugin-market 1.2.0 "Market"
- cordova-plugin-media 4.0.1-dev "Media"
- cordova-plugin-nativestorage 2.3.2 "NativeStorage"
- cordova-plugin-network-information 2.0.1 "Network Information"
- cordova-plugin-spinner-dialog 1.3.1 "SpinnerDialog"
- cordova-plugin-splashscreen 5.0.3-dev "Splashscreen"
- cordova-plugin-whitelist 1.3.3 "Whitelist"
- cordova-plugin-x-socialsharing 5.3.2 "SocialSharing"
- cordova-support-google-services 1.1.0 "cordova-support-google-services"
- de.appplant.cordova.plugin.local-notification 0.8.5 "LocalNotification"
- es6-promise-plugin 4.2.2 "Promise"
- phonegap-plugin-multidex 1.0.0 "Multidex"
- phonegap-plugin-push 2.2.3 "PushPlugin"