【问题标题】:Replace rootViewController behind a modal view替换模式视图后面的 rootViewController
【发布时间】:2016-03-25 10:24:32
【问题描述】:

使用以下代码,我可以更改模式视图后面的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(仅在动画期间)。然后我的新视图控制器正确显示。

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

【问题讨论】:

    标签: ios swift cocoa-touch uikit


    【解决方案1】:

    回答我自己,

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

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

        myModalViewController.modalPresentationStyle = .OverFullScreen
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多