繁体   English   中英

从UITabviewController导航回到情节提要中的ViewController

[英]Navigate back from UITabviewController to ViewController in storyboard

我的阶层

 UINavigationController -> UIViewController 
 -> UITabViewController 
     -> ViewController1                                                      
     -> ViewController2
     -> ViewController3

我想从导航

ViewController1 -> UIViewController.

任何人都知道,请解决此问题。

“放松”是您的答案。

在此处输入图片说明

创建一个IBAction方法以解除锁定。 在要展开的控制器中定义此方法(要从中跳回主控制器的控制器)。

- (IBAction) prepareForUnwind:(UIStoryboardSegue *)segue {
}

现在,使用情节提要中的此方法连接后退按钮(在本例中为“主页”按钮)。 要连接展开动作-> Ctrl拖动到控制器的“退出”出口按钮。

在此处输入图片说明

注意:如果您使用的Xcode版本低于6.0,则“ Exit”出口位于视图控制器的底部。

在此处输入图片说明

这将导航回到您的根导航控制器。 那就是UIViewController。

为了进一步分离,您可以指定一个标识符以解除顺序并做出不同的动作以退出到最后一个控制器。

从左侧列表中选择标识符,然后在“属性”检查器中提供一个标识符。

在此处输入图片说明在此处输入图片说明

关键点:

  1. 在将要退出的控制器中写入展开方法。
  2. 只有定义了展开方法后,才能连接到“退出”委托。
  3. 按住Ctrl键并从控件中拖动到“退出”符号,以选择要让此控件执行的展开序列
  4. 每次连接时,“退出”标志都会出现在“退出”符号下方
  5. 您可以为那些放松的搜寻者指定一个标识符,以执行不同的活动。

您可以使用

    [navigationController popToViewController:<#(UIViewController *)#> animated:<#(BOOL)#>];

只需提供要弹出到的viewController的实例,然后将动画属性设置为YES(如果您想弹出动画),否则设置为NO。

这里的控制器UIViewControllerUINavigationController的rootViewController。 所以你只需要从ViewController1弹出到rootViewController

[self.navigationController popToRootViewControllerAnimated:YES];

您可以这样做:

ViewController *loginVC = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
[self.navigationController popToViewController: loginVC animated:YES]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM