ios12中遇到的帶input彈窗的錯位問題的解決方法
問題描述:
使用fixed定位的彈窗,在ios12的系統(tǒng)里,軟鍵盤調(diào)起后,頁面整體上移,當軟鍵盤消失時,視覺上頁面已經(jīng)回到原始位置,但其實彈窗的焦點位置仍在軟鍵盤調(diào)起時的位置。
解決辦法:
這也是參考某位大佬的解決辦法
document.body.addEventListener('focusin', () => { // 軟鍵盤彈出的事件處理 this.isReset = false }) document.body.addEventListener('focusout', () => { // 軟鍵盤收起的事件處理 this.isReset = true setTimeout(() => { // 當焦點在彈出層的輸入框之間切換時先不歸位 if (this.isReset) { window.scroll(0, 0) // 失焦后強制讓頁面歸位 } }, 300) })
嘗試解決的其他方法
嘗試不使用fix定位,選擇的absolute,判斷input失焦時,使用window.scroll(),但是需要解決的問題很多
- 不同手機的input框在軟鍵盤收起時情況不一樣。蘋果手機軟鍵盤收起時,input框就失焦,但是小米手機鍵盤收起時,input框不失焦
- 使用absolute定位后,軟鍵盤出現(xiàn)頁面會上移,軟鍵盤消失時,頁面不能恢復原來的位置
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
iOS應用開發(fā)中StoryBoard搭建UI界面的基本使用講解
這篇文章主要介紹了iOS應用開發(fā)中StoryBoard搭建UI界面的基本使用,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-02-02如何通過Objective-C的枚舉學習iOS中位操作.md詳解
這篇文章主要給大家介紹了關于如何通過Objective-C的枚舉學習iOS中位操作.md的相關資料,文中通過示例代碼介紹的非常詳細,對各位iOS開發(fā)者們具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-03-03IOS NSNotification 鍵盤遮擋問題的解決辦法
這篇文章主要介紹了IOS NSNotification 鍵盤遮擋問題的解決辦法的相關資料,希望通過本文能幫助到大家,解決這樣的問題,需要的朋友可以參考下2017-09-09如何實現(xiàn)IOS_SearchBar搜索欄及關鍵字高亮
本文通過實例代碼演示如何實現(xiàn)IOS搜索欄及搜索關鍵字高亮,效果很棒,小編覺得對大家的學習會很有幫助,現(xiàn)在分享給大家,有需要的可以參考學習。2016-08-08iOS開發(fā)之tableView cell的展開收回功能實現(xiàn)代碼
本文介紹了iOS開發(fā)之tableView cell的展開收回功能實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01