2016-08-12 133 views
-1

如果我在我的应用程序中使用5个视图控制器,并且如果我在第5个视图控制器上,如果我想要按钮操作回到第二个视图控制器,应该写什么代码?如何返回查看控制器?

+8

你看的'UINavigationController'的文档? – rmaddy

回答

1

你唯一能做的就是popToViewController

因此,有以下几个步骤:

  1. 获取的UIViewController要回去。
  2. 通过执行诸如self.navigationController.viewControllers之类的操作,从导航控制器中导出所有视图控制器。
  3. 为每个循环运行a并在每个循环中添加一个if条件以匹配您希望来自步骤1的视图控制器。
  4. 使用导航控制器的popToViewController方法。

喜欢的东西如下:

for (UIViewController *vc in self.navigationController.viewControllers) { 
    if ([vc isKindOfClass:[ViewController2 class]]) { 
     [self.navigationController popToViewController:vc animated:NO]; 
    } 
} 
+0

“popToViewController”的第一个参数应该是变量'vc'。 – rmaddy

+0

不需要循环或“if”。只要做'[self.navigationController popToViewController:self.navigationController.viewControllers [1] animated:YES];'。 'viewControllers'数组将按照视图控制器堆叠的顺序排列。 – rmaddy

+0

@rmaddy更正了答案,谢谢指出。是的,我向他建议了for循环,因为他可能知道要去哪个控制器类,但知道该索引。 – Harsh

相关问题