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

遇到一個詭異的問題,我的根視圖是Tabbar+navigation,在點擊push到另外頁面的時候,頁面卡住了,導航欄的標題是下個頁面的,view還是當前的,然后我按home鍵,在進入到應用,頁面又正常了。
原因是手勢pop的問題. 當處在navi的根控制器時候, 做一個側滑pop的操作, 看起來沒任何變化, 但是再次push其它控制器時候就會出現(xiàn)上述問題了。這種情況是會出現(xiàn)在我們自定義的navigation中,因為繼承自UINavigation后,原先的右劃手勢被禁掉了,而我們經(jīng)常會加上一句話打開手勢

    self.interactivePopGestureRecognizer.delegate = (id)self;

這時候我們如果在跟視圖里面執(zhí)行右劃手勢,相當于執(zhí)行了一個pop。(只是我們沒有看到效果而已),然后接著去執(zhí)行push,自然就push不到下一級頁面了

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

//判斷如果是頁面是navigationController中的第一個頁面就禁止左劃手勢,不然在第一個頁面執(zhí)行左劃手勢后在push不到第二個頁面
-(void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    if (self.navigationController.viewControllers.firstObject == self) {
        self.navigationController.interactivePopGestureRecognizer.enabled = false;
    }else{
        self.navigationController.interactivePopGestureRecognizer.enabled = true;
    }
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容