Ios7 在swift中关闭模式视图控制器后的Popview
我有一个导航控制器a,我在其上按下视图控制器B。从B我以模态方式显示视图控制器C。在我取消C后,我尝试返回到a。因此导航流是a->B->(呈现模态视图)->C。我在B中尝试了此代码,但没有成功:Ios7 在swift中关闭模式视图控制器后的Popview,ios7,swift,popviewcontroller,Ios7,Swift,Popviewcontroller,我有一个导航控制器a,我在其上按下视图控制器B。从B我以模态方式显示视图控制器C。在我取消C后,我尝试返回到a。因此导航流是a->B->(呈现模态视图)->C。我在B中尝试了此代码,但没有成功: self.navigationController?.popToRootViewControllerAnimated(true) 有没有关于如何实现这一目标的建议 这种情况只发生在iOS7中 谢谢您必须关闭NavigationController中的模态视图控制器(C)和popToRootViewC
self.navigationController?.popToRootViewControllerAnimated(true)
有没有关于如何实现这一目标的建议
这种情况只发生在iOS7中
谢谢您必须关闭NavigationController中的模态视图控制器(C)和popToRootViewController。在C视图控制器中尝试以下代码:
let presentingVC = self.presentingViewController!
let navigationController = presentingVC is UINavigationController ? presentingVC as? UINavigationController : presentingVC.navigationController
navigationController?.popToRootViewControllerAnimated(false)
self.dismissViewControllerAnimated(true, completion: nil)
在这种情况下,用户将只看到解除模态视图控制器。导航控制器中的Pop到根视图控制器将在后台制作
另一个选项是禁用模态视图控制器,然后通过动画弹出到根视图控制器,然后用户将看到所有内容。
代码如下:
let presentingVC = self.presentingViewController!
let navigationController = presentingVC is UINavigationController ? presentingVC as? UINavigationController : presentingVC.navigationController
self.dismissViewControllerAnimated(true, completion: { () -> Void in
navigationController?.popToRootViewControllerAnimated(true)
return
})
很好的回答,演示也可以是一个超级控制器