【问题标题】:Whose view is not in the window hierarchy after dismissViewController在dismissViewController之后谁的视图不在窗口层次结构中
【发布时间】:2016-02-12 08:01:07
【问题描述】:

我有一个显示对象详细信息的视图控制器。在这个视图控制器上有一个“编辑”按钮,它以模态方式显示版本视图控制器。当我尝试关闭模态呈现的视图(编辑视图控制器)时:

self.dismissViewControllerAnimated(true, completion: nil)

我收到以下错误,它显示的是我的初始 viewController:

警告:尝试呈现≤Deevent.MyEventsVC: 0x7f99b70160a0≥ on≤Deevent.EventCreationVC: 0x7f99b7238690≥ 其视图不在窗口层次结构中!

所以我尝试将我的视图的根视图控制器设置为我想要返回的视图并在我的解雇完成时呈现它。它运行良好,但我的应用程序位于 Tabbar 控制器中,现在它不在其中了。导航控制器也是如此。

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("MyEventsStoryboard") as! MyEventsVC

let appDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
appDelegate.window?.rootViewController = vc

self.dismissViewControllerAnimated(false, completion: {
                    self.presentViewController(vc, animated: true, completion: nil)
                })

还有其他方法可以在关闭后不离开 Tabbar 控制器的情况下呈现 viewControllers 吗?

谢谢

【问题讨论】:

  • 你想达到什么目的请多解释一下
  • 我有一个显示对象详细信息的视图控制器。在这个视图中,我有一个“编辑”按钮,它以模态方式显示版本视图控制器。当我尝试关闭版本视图控制器时,我收到错误消息,它没有显示我的详细信息视图控制器,而是显示了我的初始(登录)视图控制器。
  • 分享你以模态方式呈现视图控制器的代码
  • 这只是一个 performSegueWithIdentifier :self.performSegueWithIdentifier("editEvent", sender: self)

标签: ios swift uitabbarcontroller dismiss


【解决方案1】:

由于您试图通过调用self.presentViewController 关闭self 来呈现新的视图控制器,因此您会收到错误消息。如果您使用导航控制器,我可以为您提供解决方案。

【讨论】:

    猜你喜欢
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 2014-07-21
    相关资源
    最近更新 更多