iOS關於懸浮視窗的實現
阿新 • • 發佈:2019-01-28
由於專案的需要,需要實現的一個懸浮視窗 ,顯示在整個應用介面。
思路一 另建立一個類 繼承 uiwindow 設定成為 alter ,使用
makeKeyAndVisible 顯示在介面上, 這種方法效果在豎屏上面效果很好,開始的時候感覺 很不錯 ,但是問題來了 後面發現支援橫屏的話,
這種方法 就會把你坑爽,我一直希望使用這種方法 支援橫屏 ,但是我失敗了 ,在這個window下面如果是橫屏,window 的佈局還是豎屏的倒過去的樣子,很坑人。
如果你在uiwindow上面佈局的話 預設是豎屏,解決的話只能使用controller ,但是 懸浮視窗 就不好實現了。
思路二 在keywindow 上面新增 view ,將view設在最上面
方法
bringSubviewToFront 將view置頂
不能貫穿整個應用 但是足夠使用了
網上資料很少,弄了好久,順然簡簡單單幾句,想想走了好多繞路,弄了很長時間。還有一個問題 如果一個一個view 多次使用addsubview 新增同一個view 只會新增一次,我不得不說蘋果優化的很好。
在實現懸浮視窗的時候還要做的就是手勢問題 滑動手勢 UIPanGestureRecognizer