在iOS 5及更高版本中关闭multipleViewControllers?

时间:2013-04-07 21:41:01

标签: xcode uiviewcontroller modalviewcontroller

我有一个应用程序,它包含一个带有三个视图的UITabBar,其中一个是UITableVIew。应用程序启动时加载的第一个视图是UITabBar视图中保存的UIView。该视图是用户填写的表单,其通过五个不同的屏幕进行填写。以前我一直把它们作为模态视图加载到另一个上面,最后当用户点击最终按钮时将它们全部解雇:

[self.parentViewController.parentViewController.parentViewController.parentViewController      dismissModalViewControllerAnimated:YES];

然而,由于[self.parentViewController dismissModalViewControllerAnimated:YES]不再有效并且已被[self dismissViewControllerAnimated:YES completion:nil];取代,我不确定如何实现多次解除视图控制器。我已经尝试将调用添加到父视图控制器,但这不起作用。我也试过了:

[self.presentingViewController.presentingViewController.presentingViewController.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil];

但这似乎也不起作用。任何建议将不胜感激。我也在控制台中收到消息:应用程序窗口应该在应用程序启动结束时有一个根视图控制器。这是导致问题的原因吗?

请注意,这是我多年来第一次使用iOS进行编程,我最近大部分时间都花在了Arduino上,并且通过编码对电子元件进行了交互,所以这是一个陡峭的复习课程。我。

非常感谢帮助。

1 个答案:

答案 0 :(得分:1)

如果您的五个视图控制器被推送到UINavigationController,那么它们都可以用一个命令解除/弹出:

- (NSArray *) popToViewController: (UIViewController *) viewController 
                         animated: (BOOL) animated

[你似乎没有使用UINavigationController ...但是你的描述并不完全清楚。]