国产探花免费观看_亚洲丰满少妇自慰呻吟_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的背景顏色為主題色,這樣就不會出現黑塊,但是還是會出現分層和界面不協調的問題。不建議使用

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德阳市| 阜新| 平舆县| 云龙县| 吉木萨尔县| 渑池县| 弋阳县| 库尔勒市| 琼海市| 井冈山市| 曲沃县| 景宁| 满城县| 万州区| 渝北区| 南漳县| 天全县| 嘉荫县| 华坪县| 永春县| 陕西省| 天台县| 黔西县| 博客| 工布江达县| 漳平市| 武胜县| 合作市| 镶黄旗| 洪泽县| 阿尔山市| 江西省| 洛隆县| 孟州市| 太白县| 白水县| 涟源市| 清镇市| 九龙坡区| 泰和县| 岚皋县|