關於iOS導航控制器隱藏和顯示會出現返回鍵失效,導航欄標題動畫異常


 

最近做的demo  bug出現了,我覺得這個bug出現得很經典所以貼出來給大家看看,

bug演示就是:點擊返回鍵失效出現如下gif圖演示的內容

 

 

為啥會出現如此奇葩的bug,系統的返回鍵居然失效了,尷尬症又犯了,愣是點了很久也不知所措

bug出現的源頭:從不隱藏導航欄進行手勢返回的時候,手勢返回一半松手,回到不隱藏導航欄的頁面,在push其他頁面,就會出現返回鍵失效的問題

出現bug的重要步驟:手勢返回一半又松手

 

 

進行頁面隱藏導航欄的代碼如下

    //顯示導航欄
    [self.navigationController setNavigationBarHidden:NO animated:NO];
    //隱藏導航欄
    [self.navigationController setNavigationBarHidden:YES animated:NO];

 

個人認為出現該bug的原因就是手勢返回的時候  導航欄的頁面是有動畫效果的(可以拿其他app試試),頁面的標題和按鈕都會漸變

而隱藏導航欄和顯示導航欄的代碼設置的animated是NO,所以手勢返回就會沖突,而使整個導航控制器頁面和返回鍵出現問題呢

 

解決的辦法很簡單,只要將NO設置為YES就好

    //顯示導航欄
    [self.navigationController setNavigationBarHidden:NO animated:YES];
    //隱藏導航欄
    [self.navigationController setNavigationBarHidden:YES animated:YES];

 

完美解決該bug,不會再來~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM