Xcode9.4.1版本升级到Xcode10.1时,很顺利的下进行,但是项目中需要输入框的部分出现问题,在输入时IOS手机的键盘遮挡输入框问题,经过百度搜索,google搜索终于找到解决方法,方法。
解决方法:
①在cordova-ios 项目中安装cordova-plugin-keyboard与cordova-plugin-device插件;
②在JS项目中index.html中写入下面方法:
(function ios12NotchFix(is_ios, keyboard_plugin_exists){
if(!is_ios || device.model.indexOf("iPhone")===-1) return false;
if(!keyboard_plugin_exists) throw new Error("This fix depends on 'cordova-plugin-keyboard'!");
const iphone_number= Number(device.model.replace("iPhone", "").replace(",","."));
const /* viewport metatag */
viewport_el= document.getElementsByName("viewport")[0],
default_content= "user-scalable=no, width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1";
if(iphone_number>=10.6||iphone_number===10.3){ /* devices with notch: X, XR, ... */
setCover();
window.addEventListener('keyboardWillShow', setFix);
window.addEventListener('keyboardWillHide', setCover);
}
function setCover(){ viewport_el.content= default_content+", viewport-fit=cover"; }
function setFix(){ viewport_el.content= default_content; }
})(device.platform==="iOS", typeof Keyboard !== "undefined");
③在JS中加入以下代码解决不能全屏显示问题
document.querySelector('body').style.height = document.documentElement.clientHeight + 'px';
document.querySelector('body').style.width = document.documentElement.clientWidth + 'px';