【发布时间】:2016-05-18 19:46:26
【问题描述】:
我试过用:
self.navigationController?.setViewControllers([anotherNavController], animated: true)
但是,我收到了NSException。我假设您不能在另一个中使用UINavigationController,因为将setViewControllers() 与普通视图控制器一起使用可以正常工作。
我只需要关闭当前的 navigationController 并呈现另一个 navigationController,这样当新的 navigationController 被关闭时,将来旧的 navigationController 就不会重新出现了。
我正在使用 PageMenu,这会使事情复杂化。
我需要更换整个导航控制器的示例:
此代码初始化 ViewDidAppear 中的 PageMenu:
// Initialize scroll menu
pageMenu = CAPSPageMenu(viewControllers: controllerArray, frame: CGRectMake(0.0, 0.0, self.view.frame.width, self.view.frame.height), pageMenuOptions: parameters)
self.addChildViewController(pageMenu!)
self.view.addSubview(pageMenu!.view)
pageMenu!.didMoveToParentViewController(self)
【问题讨论】:
-
你为什么要替换整个
navigationController?你不能只替换里面的viewController吗? -
很遗憾,没有。我正在使用github.com/HighBay/PageMenu,如果它没有出现在它自己的导航控制器中,它就不能正确显示。
-
从您发布的图片来看,您似乎只需要在顶部添加一些填充,而不是替换
navigationController。 -
您的
AppDelegate设置如何?您是在实例化您的自定义 navController,还是在实例化默认值? -
我使用的是标准的导航控制器。我将如何添加填充?
标签: ios swift uinavigationcontroller