iOS控制导航控制器的后退按钮

时间:2014-01-03 23:15:57

标签: ios uinavigationcontroller storyboard segue

我有三个观点: 1)我的标签栏上的首字母 2)从#1开始的观点 3)从#2

中查看的观点

App的正常使用是从#1开始,然后是#2,然后是#3,它将始终返回到#2。我想#2的后退按钮总是回到#1。但是,在输入#3并返回到#2之后,后退按钮转到#3(而我想要#1)。我目前使用push segues。关于如何更新这个的任何想法?

2 个答案:

答案 0 :(得分:0)

使用:

popToRootViewControllerAnimated:

而不是:

popViewControllerAnimated:

答案 1 :(得分:0)

我最终解决了使用此链接Removing viewcontrollers from navigation stack并使用if语句将其包围以检测至少2个视图控制器:

 - (void) viewWillDisappear:(BOOL)animated{
NSMutableArray *navigationArray = [[NSMutableArray alloc] initWithArray: self.navigationController.viewControllers];
int i = [navigationArray count];

// [navigationArray removeAllObjects];    // This is just for remove all view controller from navigation stack.
if (i > 1){
    NSLog(@"count: %d", i);
    [navigationArray removeObjectAtIndex: 1];  // You can pass your index here
    self.navigationController.viewControllers = navigationArray;
}
}