所以,我正在使用一个RootViewController,你可以从中首先显示ViewController Categories,然后从你接下来显示的类别中显示。
音乐RootViewController -> 分类 -> 音乐
在 RootViewController 中,我使用它
[self presentModalViewController:categoriesView animated:NO];
以显示模态视图,然后将其从类别中关闭
[self dismissModalViewControllerAnimated:NO];
从类别到我再次使用的音乐
[self presentModalViewController:fruitView animated:NO];
呈现音乐模态视图,然后在音乐中再次将其关闭,再次与上述相同。
是否有可能忽略两个模态视图?我想要一个从音乐引导回 RootViewController 的方法,关闭最后两个模态视图。
有什么想法吗?
使用以下代码[[[self presentingViewController] presentingViewController] dismissModalViewControllerAnimated:YES];
您确定要为此使用模态视图吗?听起来您要做的事情最好用UINavigationController
来解决,您可以在堆栈中推送和弹出视图控制器(并且您可以使用popToRootViewControllerAnimated:
消息(。
这就是在 iOS 中惯用地处理向下钻取导航的方式(例如,在 iPod、便笺、通讯录、视频、照片应用程序中(。
我相信Xcode中有这方面的示例代码。
UINavigationController
有一个popToRootViewControllerAnimated:
方法,根据文档:
弹出所有视图控制器 除根视图控制器之外的堆栈 并更新显示。
使用popToRootViewControllerAnimated
UINavigationController
的方法。
[self.navigationController popToRootViewControllerAnimated:YES];
你在这里谈论的是,从更一般的观点到更具体的观点,最好用UINavigationController
推送和弹出视图来处理。这些是在屏幕上左右滑动的视图。推送意味着它从右侧滑入(并显示一个新的、更具体的视图(。弹出滑动回右侧并显示更一般的视图。
模态视图控制器是从屏幕底部滑入的控制器。查看设备上的iPod应用程序,了解处理此问题的方法。
我使用了一个很好的实用程序方法来做到这一点......看这里:
如何关闭两个或多个关闭ModalViewController?
使用这个,在音乐视图中写这个为 dissless 2 视图。
[RootViewController dismissModalViewControllerAnimated:YES];
这里 RootViewController 是 RootViewController 的对象希望这对你有帮助。