Ios導航欄返回到指定的頁面


在自己的項目實現中有這樣的一個需求。一般情況下我們的導航欄返回按鈕,是上個頁面跳轉過來,點擊返回按鈕返回到上來界面。但是在實際需求中有的並不是這么簡單的。有的界面返回是只確定的界面。所以當時自己在實現的時候因為不太了解跳轉的機制,導致無法實現。后來在老大,路哥(大牛)的知道下明白了。首先我們要知道導航欄的跳轉是通過棧的形式進行的。所以我們每次跳轉時,就會在棧里多出一個界面的對象。棧中的數就會增加,當我們需要返回跳轉到前面的某一個界面時,需要我們在棧中尋找這個界面。我們需要一個數組來存放信息,當找到了這個界面時,把這個導航進行跳轉就可以了。下面是實現的代碼,其實很簡單的。(我們的返回按鈕需要重新自己定義一下,這個是定義后點擊方法)

-(void)backAction{

    UINavigationController *navVC = self.navigationController;

    NSMutableArray *viewControllers = [[NSMutableArray alloc] init];

    for (UIViewController *vc in [navVC viewControllers]) {

        [viewControllers addObject:vc];

        if ([vc isKindOfClass:[MyNeedJumpVC class]]) {

            break;

         }

    }

     [navVC setViewControllers:viewControllers animated:YES];

}​

​self.navigationController是當前的頁面;

MyNeedJumpVC 是我們需要跳轉的頁面;

就是這么簡單。當然了,你也可以通過導航欄棧的個數來進行跳轉,但是你需要知道目的頁面在棧的個數是幾,這個實現起來有點復雜,也是我開始的方法,后來用上面的方法實現分分鍾就搞定了!哈哈!有什么不懂可以給我留言。


免責聲明!

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



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