我的层次结构
UINavigationController -> UIViewController
-> UITabViewController
-> ViewController1
-> ViewController2
-> ViewController3
我想从
导航回来ViewController1 -> UIViewController.
任何人都知道请解决这个问题。
答案 0 :(得分:1)
“放松”是您的答案。
创建一个IBAction
方法来展开segue。在要在其中展开的控制器中定义此方法(您想要跳转到主控制器的控制器)。
- (IBAction) prepareForUnwind:(UIStoryboardSegue *)segue {
}
现在在Storyboard中使用此方法连接后退按钮(在本例中为“Home”按钮)。连接展开动作 - >按住Ctrl键并拖动到控制器的“退出”按钮。
注意:如果您使用的Xcode版本小于6.0,则“退出”插座位于视图控制器的底部。
这将导航回根导航控制器。那是UIViewController。
为了进一步分离,您可以为unwind segue提供一个标识符,并为退出到最后一个控制器执行不同的操作。
从左侧列表中选择标识符,并在“属性”检查器中提供标识符。
关键点:
答案 1 :(得分:0)
您可以使用
[navigationController popToViewController:<#(UIViewController *)#> animated:<#(BOOL)#>];
只提供要弹出的viewController的实例,如果你想弹出动画,则设置动画属性为YES,否则设为NO。
答案 2 :(得分:0)
这里控制器UIViewController
是UINavigationController
的rootViewController。因此,您只需要从rootViewController
ViewController1
即可
[self.navigationController popToRootViewControllerAnimated:YES];
答案 3 :(得分:0)
你可以这样做:
ViewController *loginVC = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
[self.navigationController popToViewController: loginVC animated:YES]