在模态视图后面替换rootViewController

时间:2016-03-25 10:24:33

标签: ios swift cocoa-touch uikit

使用以下代码,我可以更改模态视图后面的rootViewController

let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let signupVC = storyboard.instantiateViewControllerWithIdentifier("SignupNavigationController") as! UINavigationController
let landingPageVC = storyboard.instantiateViewControllerWithIdentifier("LandingPage") as! LandingPageViewController

presentViewController(signupVC, animated: true, completion: {
   UIApplication.sharedApplication().delegate?.window??.rootViewController = landingPageVC
   UIApplication.sharedApplication().delegate?.window??.sendSubviewToBack(landingPageVC.view)
})

当我关闭我的模态视图控制器时,它是显示的前一个rootViewController(仅在动画期间)。然后我的新视图控制器正确显示。

知道如何防止这种情况吗?

1 个答案:

答案 0 :(得分:0)

回答自己,

我在模态动画中可以看到的视图类似于快照。我发现该视图在Xcode的视图层次结构调试器中不可见,因此视图不存在于viewController树中。

要刷新此快照,我必须将modalPresentationStyle设置为.OverFullScreen

    myModalViewController.modalPresentationStyle = .OverFullScreen