在我的应用程序中,我有一个故事板,初始视图控制器为X,然后我有一个导航控制器,它有几个视图控制器通过segue连接它但ViewController x和这个导航控制器之间没有连接。
现在基于View控制器x中的按钮点击我想要呈现此导航控制器。
我这样做:
func showDashBoard()
{
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let next = storyBoard.instantiateViewControllerWithIdentifier("navigation") as! EBNavigationController
self.presentViewController(next, animated: true, completion: nil)
}
因此,导航视图将显示为根视图控制器,但它不显示动画,我也会收到警告"尝试显示其视图不在窗口层次结构中! " 有人可以帮我弄清楚最好的方法是什么。
谢谢,
答案 0 :(得分:0)
可以使用next.modalPresentationStyle
和next.modalTransitionStyle
修复动画问题。查找可能值的枚举,并为其提供所需的值。
您通常会在窗口层次结构中看到"尝试显示其视图!"在视图完全加载之前调用此函数时出现错误。例如,如果您在viewDidLoad方法中调用它。你应该在调用viewDidAppear之后调用它。