国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS中導航欄pop返回時出現黑塊問題的解決方法

2020-07-26 02:38:30
字體:
來源:轉載
供稿:網友

前言

蘋果在iOS7以后給導航控制器加了一個Pop手勢,只要手指在屏幕邊緣滑動,當前的控制器的視圖就會隨著你的手指移動,當用戶松手后,系統會判斷手指拖動出來的大小來決定是否要執行控制器的pop操作。

這個想法非常棒,但最近在使用中發現了一些問題,下面話不多說了,來一起看看詳細的介紹吧。

問題描述:

導航欄正常從A頁面push到B頁面,從B頁面pop返回A頁面時遇到過渡過程中導航欄出現黑塊的問題。

如截圖所示:


問題原因:

A界面導航欄被影藏,B頁面的導航欄存在。過渡的時候沒有動畫。

解決方案:

1.在A頁面中添加影藏導航過渡動畫

override func viewWillAppear(_ animated: Bool) {   super.viewWillAppear(animated)   self.navigationController?.setNavigationBarHidden(true, animated: true) //避免的出現返回時導航欄的黑塊 } 
override func viewWillDisappear(_ animated: Bool) {   super.viewWillDisappear(animated)   self.navigationController?.setNavigationBarHidden(false, animated: true)   } 

注意:如果使用self.navigationController.isNavigationBarHidden = true 就會出現黑塊問題。 如果A頁面在tableViewController中,切換tab時就有可能導致該界面閃動。

優點,不用在自push中再去設置每一個過渡

2.在B頁面添加過渡動畫

override func viewWillDisappear(_ animated: Bool) {   super.viewWillDisappear(animated)   self.navigationController?.setNavigationBarHidden(true, animated: true)  } 

缺點:在每一個子頁面(包括子頁面的子頁面)中都需要設置

3.設置window的背景顏色為主題色,這樣就不會出現黑塊,但是還是會出現分層和界面不協調的問題。不建議使用

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通许县| 高雄县| 九江县| 大洼县| 大悟县| 儋州市| 乐陵市| 富锦市| 剑阁县| 岐山县| 宜昌市| 伽师县| 方正县| 崇阳县| 金山区| 洛川县| 东阿县| 白银市| 调兵山市| 仙游县| 交口县| 都兰县| 扬中市| 永清县| 龙州县| 奉新县| 徐闻县| 明星| 新昌县| 章丘市| 卫辉市| 登封市| 故城县| 乌兰浩特市| 南宫市| 昆明市| 天水市| 红原县| 德昌县| 廉江市| 石渠县|