使用标签栏控制器和导航控制器

时间:2016-04-19 12:56:49

标签: ios swift uinavigationcontroller uitabbarcontroller

enter image description here

我想在视图控制器之间导航,如图所示。我不想使用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)
}

图中未显示。

2 个答案:

答案 0 :(得分:0)

如果您尝试在TabBarController上显示模态视图,则:

let next = self.storyboard?.instantiateViewControllerWithIdentifier("secondViewController") as! UIViewController
self.tabBarController.presentViewController(next, animated: true, completion: nil)

答案 1 :(得分:0)

  

警告:尝试在视图不在窗口层次结构中的FirstViewController上呈现SecondViewController!

原来这个错误意味着我必须在第一个视图出现并准备就绪后从第一个视图导航到第二个视图。

将导航线放在viewDidAppear()函数中解决了这个问题。