我想在视图控制器之间导航,如图所示。我不想使用segues。
当我尝试通过点击按钮将表单FirstViewController
导航到SecondViewController
时:
let next = self.storyboard?.instantiateViewControllerWithIdentifier("secondViewController") as! SecondViewController
self.presentViewController(next, animated: true, completion: nil)
我明白了:
警告:尝试在视图不在窗口层次结构中的FirstViewController上呈现SecondViewController!
如何在中间插入导航控制器?
修改:图中TabBarController
而非TabViewController
。
我从First Scene的控制器导航,名为" A-Controller"到第一视图控制器:
@IBAction func navigateToFirstViewController(sender: AnyObject) {
let next = self.storyboard?.instantiateViewControllerWithIdentifier("firstViewController") as! FirstViewController
self.presentViewController(next, animated: true, completion: nil)
}
图中未显示。
答案 0 :(得分:0)
如果您尝试在TabBarController上显示模态视图,则:
let next = self.storyboard?.instantiateViewControllerWithIdentifier("secondViewController") as! UIViewController
self.tabBarController.presentViewController(next, animated: true, completion: nil)
答案 1 :(得分:0)
警告:尝试在视图不在窗口层次结构中的FirstViewController上呈现SecondViewController!
原来这个错误意味着我必须在第一个视图出现并准备就绪后从第一个视图导航到第二个视图。
将导航线放在viewDidAppear()函数中解决了这个问题。