標籤:一個 無法 通過 自己 add object 指定 set anim
在自己的項目實現中有這樣的一個需求。一般情況下我們的導覽列返回按鈕,是上個頁面跳轉過來,點擊返回按鈕返回到上來介面。但是在實際需求中有的並不是這麼簡單的。有的介面返回是只確定的介面。所以當時自己在實現的時候因為不太瞭解跳轉的機制,導致無法實現。後來在老大,路哥(大牛)的知道下明白了。首先我們要知道導覽列的跳轉是通過棧的形式進行的。所以我們每次跳轉時,就會在棧裡多出一個介面的對象。棧中的數就會增加,當我們需要返回跳轉到前面的某一個介面時,需要我們在棧中尋找這個介面。我們需要一個數組來存放資訊,當找到了這個介面時,把這個導航進行跳轉就可以了。下面是實現的代碼,其實很簡單的。(我們的返回按鈕需要重新自己定義一下,這個是定義後點擊方法)
-(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 是我們需要跳轉的頁面;
就是這麼簡單。當然了,你也可以通過導覽列棧的個數來進行跳轉,但是你需要知道目的頁面在棧的個數是幾,這個實現起來有點複雜,也是我開始的方法,後來用上面的方法實現分分鐘就搞定了!哈哈!有什麼不懂可以給我留言。
Ios導覽列返回到指定的頁面