我有一个应用程序,它包含一个带有三个视图的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上,并且通过编码对电子元件进行了交互,所以这是一个陡峭的复习课程。我。
非常感谢帮助。
答案 0 :(得分:1)
如果您的五个视图控制器被推送到UINavigationController,那么它们都可以用一个命令解除/弹出:
- (NSArray *) popToViewController: (UIViewController *) viewController
animated: (BOOL) animated
[你似乎没有使用UINavigationController ...但是你的描述并不完全清楚。]