原生的Navigation只有實作拋出一次View Controller和拋出所有View Controller,但是我想要拋出兩次(或是三次、四次等等)View Controller,該怎麼做呢?
查了Stack Over Flow才覺得非常簡單,其實每個人都想得到XD~
// in UINavigationController+popTwice.h
#import <UIKit/UIKit.h>
@interface UINavigationController (popTwice)
- (void) popTwoViewControllersAnimated:(BOOL)animated;
@end
// in UINavigationController+popTwice.m
#import "UINavigationController+popTwice.h"
@implementation UINavigationController (popTwice)
- (void) popTwoViewControllersAnimated:(BOOL)animated{
[self popViewControllerAnimated:NO];
[self popViewControllerAnimated:animated];
}
@end
我們可以多實作一個pop兩次View Controller的方法,將第一個pop設定無動畫,第二個pop設定有動畫,效果就如同我們期待的那樣!當然想要pop三次、四次以上也可以依此類推做到呢!
使用方法為:
#import “UINavigationController+popTwice.h"
[self.navigationController popTwoViewControllersAnimated:YES];
參考:How do I pop two views at once from a navigation controller?。
HappyMan・迴響