Just a Computer Graphics Studio & My Life

原生的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?

Advertisements

發表留言

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

標籤雲

%d 位部落客按了讚: