0

我有一个应用程序,它由一个带有三个视图的 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 上,并将电子学与编码交互,所以这是我正在上的一个陡峭的进修课程。

帮助将不胜感激。

4

1 回答 1

1

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

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

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

于 2013-04-07T21:57:51.410 回答