tabBarController使用的过程中要求中间的item不在导航里面
如索引为2的页面跳出
func tabBarController(tabBarController: UITabBarController, shouldSelectViewController viewController: UIViewController) -> Bool {
let childArr = tabBarController.childViewControllers as NSArray
let index = childArr.indexOfObject(viewController)
if index == 2 {
return false
}
return true
}
使用的过程成发现上面的代码没起作用,检查代码发现直接将视图数组赋值给TabBar的视图,如下A代
self.tabbarController.viewControllers = viewControlersArr as! [UINavigationController]
这种添加的方式必须自己实现调转:
if index == 2 {
presentShowMeViewController(viewController)
return false
}
当然怎么样才能起作用呢?代码片段A换成下面的添加方式就可以,一个个的添加
addChildViewController(navigationVC)