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

首頁 > 系統 > iOS > 正文

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

2019-10-21 18:43:58
字體:
來源:轉載
供稿:網友

前言

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

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

問題描述:

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

如截圖所示:

ios,導航欄的返回按鈕,導航欄返回事件,導航欄返回按鈕

問題原因:

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的背景顏色為主題色,這樣就不會出現黑塊,但是還是會出現分層和界面不協調的問題。不建議使用

總結

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


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东莞市| 府谷县| 赞皇县| 定安县| 鹿泉市| 田阳县| 色达县| 青铜峡市| 汉源县| 出国| 乌拉特前旗| 陇西县| 玉田县| 兰州市| 布拖县| 桂林市| 桂林市| 信丰县| 辽阳县| 木里| 离岛区| 井研县| 庆元县| 福建省| 福海县| 宜丰县| 永川市| 阳原县| 林口县| 西安市| 桂东县| 卓资县| 阳城县| 山阴县| 本溪| 尼木县| 凤庆县| 灌阳县| 安图县| 福泉市| 台东县|