現象:簡單的說就是iPhoneX頁面里有輸入框時,點擊輸入框,無論是否輸入內容,點擊輸入框的完成或者頁面其他地方隱藏輸入框后,發現頁面被整體頂上去了,而輸入框的部分要么成黑色要么白色等,頁面底部變成了輸入框的頂部位置
解決辦法:
方法1:
這個問題是ios12的bug,包括在其他app的webview里,只要ios12平台,app由xcode10構建,就會出現,不限於蘋果x和xs,解決代碼
$('input').on('blur', this, (ev) => { windows.scrollTo(0,0) });
但是對我的頁面沒有效果。。。於是找到方法2
方法2:
$('input').on('blur', function() { var count = 0; var screenHeight = window.screen.height; var blurInterval = setInterval(function () { $('body').css('min-height', (screenHeight-=10)+'px'); if (count >= 10) { clearInterval(blurInterval); $('body').css('min-height', ''); } count++; }, 10) })
完美解決! 這次做活動好幾個iPhone bug,iphone 10.3.3版本竟然不兼容flex布局,也是醉了。