我创建了一个自定义按钮,我以TabBar控制器为中心。我想用它来呈现一个模块化附加到导航控制器的视图控制器。但是,我一直收到错误,错误说我无法推动。然而,我不是在推动。我正在介绍
func showView() {
print("We are here ohhh")
let viewController = self.storyboard?.instantiateViewControllerWithIdentifier("Dashboard")
//Creating a navigation controller with viewController at the root of the navigation stack.
let navController = UINavigationController(rootViewController: viewController!)
self.navigationController?.presentViewController(navController, animated: true, completion: nil)
//self.presentViewController(navController, animated:true, completion: nil)
}
The Error
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing a navigation controller is not supported'
答案 0 :(得分:2)
假设标识为"Dashboard"
的情节提升视图控制器为UINavigationController
,您可以直接呈现它:
func showView() {
let viewController = self.storyboard?.instantiateViewControllerWithIdentifier("Dashboard")
presentViewController(viewController, animated: true, completion: nil)
}
解雇(从呈现视图控制器):
dismissViewControllerAnimated(true, completion: {});
解雇(从提供的视图控制器):
self.presentingViewController.dismissViewControllerAnimated(true, completion: {});
答案 1 :(得分:-2)
你需要这样做:
let navController = UINavigationController(rootViewController: viewController!)
navController.setViewControllers([viewController], animated: true)
self.presentViewController(navController, animated: true, completion: nil)