【发布时间】:2018-08-04 19:51:05
【问题描述】:
当有人正在使用该应用程序时,有没有办法更改根控制器?我现在设置的方式是,如果新用户使用该应用程序,他们将进入具有嵌入式导航控制器的登录页面。当用户填写信息时,他们会进入下一页进行确认。嵌入式导航是返回并更改任何信息。一旦他们确认他们就会进入主页。现在的问题是,当用户返回并遵循一些逻辑时,应用程序会转到另一个已经有导航控制器的视图。当新用户进入该部分时,如何分配返回的用户导航控制器?当用户在空白视图中按下返回时,他们将返回确认页面。
如何让确认页面视图将导航控制器放在顶部而不是底部?我不确定在哪里更改根导航控制器,但我认为它应该在确认视图控制器中的 prepareForSegue 中
if segue.identifier == "showMemoryTable" {
let memoryListVC = segue.destination as? ReturningUserCityDetailTableViewController
memoryListVC?.userData = userData
if userData?.newUser == true {
let newRootViewController = ReturningUserCityTableViewController()
self.navigationController?.viewControllers.first = newRootViewController
let mainStoryBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let viewController: UIViewController = mainStoryBoard.instantiateViewController(withIdentifier: "homeVC")
navigationController?.setViewControllers([viewController], animated: true)
}
我不确定我是否应该使用setViewControllers,但我相信是这样
【问题讨论】:
标签: ios swift uinavigationcontroller