放松谴责回归太远

时间:2016-04-27 09:20:25

标签: ios objective-c uinavigationcontroller unwind-segue

我在firstViewController中嵌入了firstNavigationController,其中有一个模式segue到另一个secondViewController中嵌入的新secondNavigationController。这个新控制器执行退回segue回firstViewController

secondViewController

- (void) cancelAction{
     [self performSegueWithIdentifier:@"backHoney" sender:self];
}

firstViewController:

- (IBAction)backToHoney:(UIStoryboardSegue *)sender{
}

这样可行,但有一种情况是,viewC中嵌入的另一个Nav具有firstViewController的模态segue。当用户从此viewC转到firstViewController然后转到secondViewController并尝试展开回到第一个时,它会一直展开回viewC而不是<span class="facetwp-slider-label price">$1,090</span> <span class="facetwp-slider-end-label price">$6,400</span>第一。

1 个答案:

答案 0 :(得分:0)

你应该使用popToviewController而不是unwing segue。你可以通过这个去任何viewController的导航堆栈。

例如,

NSArray *viewArr = [self.navigationController viewControllers];   //returs viewcontroller array
[self.navigationController popToViewController:[viewArr objectAtIndex:0] animated:YES];
//you can pass different index to go to differen VC

您可以参考我的this answer了解更多详情。

希望这会有所帮助:)