查看视图会破坏分层

时间:2016-06-15 08:29:58

标签: ios swift uiview tableview uisegmentedcontrol

我正在使用MZFormSheetPresentationController在ViewController1上“弹出”一个ViewController2(按照建议嵌入在导航控制器中)。

我的ViewController1有一个搜索栏,一个UISegmentedControl和一个tableview:

Image1

当用户点击搜索栏书签按钮时,会显示弹出窗口。

Image2

我想在用户点击完成按钮时关闭弹出窗口,并且使用 self.dismissViewControllerAnimated(true,completion:nil)方法效果很好,但我正在寻找更多。我想再次呈现ViewController1,以便tableView重新加载数据。 我尝试过:

self.dismissViewControllerAnimated(true, completion: nil)
        print("Dismissed")

        //goToTickets
        let next = self.storyboard?.instantiateViewControllerWithIdentifier("myTabBar") as! UITabBarController
        self.presentViewController(next, animated: true, completion: nil)

但是我收到了这个错误:

  

警告:尝试显示其视图不在窗口层次结构中!

弹出窗口消失,但我无法呈现ViewController。

我该怎么办?

提前致谢。

修改

这是我的ViewController2,标识符为“navigationFilter”

Image4

和我的tabBar:

Image5

1 个答案:

答案 0 :(得分:1)

当您正在解雇时,您正试图呈现下一个ViewController,您必须等待完成处理程序,然后呈现下一个视图控制器:

self.dismissViewControllerAnimated(true, completion: {
    let next = self.storyboard?.instantiateViewControllerWithIdentifier("myTabBar") as! UITabBarController
    self.presentViewController(next, animated: true, completion: nil)
})