present Modal View Controller:如何与父级交互
Posted
技术标签:
【中文标题】present Modal View Controller:如何与父级交互【英文标题】:presentModalViewController: how to interact with parent 【发布时间】:2011-01-25 16:10:34 【问题描述】:显示模态 ViewController 可以正常工作:
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:myView];
[self.navigationController presentModalViewController:navController animated:YES];
[navController release];
在我的模式视图中,我有一个导航按钮可以切换回主菜单。通常会调用[self.navigationController popToViewController:delegate.viewMainmenu animated:YES];
,但这在模态视图中是不可能的。我如何与“父母”互动以称呼他为popToViewController
?
非常感谢!
【问题讨论】:
***.com/a/8744062/1092219 【参考方案1】:在模态 vc 中使用属性 parentViewController 并调用 [self.parentViewControllerdismissModalViewControllerAnimated: YES];
【讨论】:
谢谢!使用dismissModalViewController 我可以关闭模态视图,但是如何导航到我的主菜单? 好吧,如果您的主菜单是根 vc,那么只需执行 popToRootViewController。另一种选择:将主菜单设为单例(因为每个应用程序通常只有一个),访问类似于 [MainMenu sharedMenu]。然后你可以像 [self.navigationController popToViewController: [MainMenu sharedMenu]] "self.navigationController popToViewController" 在模态对话框中不起作用,它只在父级中起作用。我试试 当然不行 :) 那是因为你的模态视图控制器没有推入导航堆栈。 1.解除模态。 2. 在你的父母中调用 pop 或者试试 self.parentViewController.navigationController popToViewController"【参考方案2】:如果您询问如何关闭模态视图控制器,您会希望模态视图本身调用:
[self dismissModalViewControllerAnimated:YES];
【讨论】:
谢谢!是的,dismissModalViewController 会关闭模态视图,但我想弹出一些视图以转到我的主菜单。以上是关于present Modal View Controller:如何与父级交互的主要内容,如果未能解决你的问题,请参考以下文章
iOS Storyboard Presenting Segues "relationship, embed, push, modal, custom" 类型
Android MVP 架构一 View与Presenter
SwiftUI:“some view”类型的值没有成员“presentation”