关闭模态视图控制器多个



所以,我正在使用一个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 的对象希望这对你有帮助。

最新更新