iOS視圖push的時候偶爾卡住,push不過去問題

遇到一個詭異的問題,我的根視圖是Tabbar+navigation,在點擊push到另外頁面的時候,頁面卡住了,導(dǎo)航欄的標(biāo)題是下個頁面的,view還是當(dāng)前的,然后我按home鍵,在進入到應(yīng)用,頁面又正常了。

原因是手勢pop的問題. 當(dāng)處在navi的根控制器時候, 做一個側(cè)滑pop的操作, 看起來沒任何變化, 但是再次push其它控制器時候就會出現(xiàn)上述問題了。這種情況是會出現(xiàn)在我們自定義的navigation中,因為繼承自UINavigation后,原先的右劃手勢被禁掉了,而我們經(jīng)常會加上一句話打開手勢

self.interactivePopGestureRecognizer.delegate = (id)self;

這時候我們?nèi)绻诟晥D里面執(zhí)行右劃手勢,相當(dāng)于執(zhí)行了一個pop。(只是我們沒有看到效果而已),然后接著去執(zhí)行push,自然就push不到下一級頁面了

解決方法,判斷當(dāng)前頁面是不是根視圖,如果是就禁止掉右劃手勢,如果不是就打開,一般我們controller都會繼承自同一個,在里面寫就行,如下:

//判斷如果是頁面是navigationController中的第一個頁面就禁止左劃手勢,不然在第一個頁面執(zhí)行左劃手勢后在push不到第二個頁面-(void)viewDidAppear:(BOOL)animated{? ? [superviewDidAppear:animated];if(self.navigationController.viewControllers.firstObject ==self) {self.navigationController.interactivePopGestureRecognizer.enabled =false;? ? }else{self.navigationController.interactivePopGestureRecognizer.enabled =true;? ? }}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 帶“四老上北京” 帶四個老人趕北京,讓四老六十多年來揚眉吐氣了一把,完成了人生最大心愿,唯一遺憾的是沒讓老...
    鴻雁相伴閱讀 415評論 5 6
  • 秋涼入靜,靜守光陰。風(fēng)來了,雨落了,花謝了,秋在我心里劃過一道淺淺的痕跡。我在八月的詩里落腳,而后種滿我的...
    冰夫閱讀 91評論 0 0
  • 花開花落又花期,葉繁葉落數(shù)四季。 春去秋來迎冬雪,人來人往君相依。
    華麗牽手夙愿緣閱讀 248評論 0 0

友情鏈接更多精彩內(nèi)容