【发布时间】:2019-05-23 14:19:49
【问题描述】:
我在 Swift5 中使用 pushViewController 时遇到问题,我在 StackOverflow 中搜索了答案,但找不到任何可行的答案。
我要做的只是使用 pushViewController 导航到另一个控制器。
使用 self.present 对 Navigation 有效,但 pushViewController 不起作用,原因我不知道。
仅使用以下当前作品:
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let viewController =
storyBoard.instantiateViewController(withIdentifier: "ViewController") as! ViewController
self.present(viewController, animated: true, completion: nil)
但是使用 pushViewController 永远不会起作用:
我试过这个:我不工作
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController
navigationController?.pushViewController(vc, animated: true)
我试过这个:我也不工作
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "ViewController" )
var navigationController = UIApplication.shared.keyWindow?.rootViewController as! UINavigationController
navigationController.pushViewController(viewController, animated: true)
我试过了,还是不行
let viewController = storyboard.instantiateViewController(withIdentifier: "ViewController" )
let vc = self.windowRootViewController() as! ViewController
let nvc = vc.parent as! UINavigationController
nvc.pushViewController(viewController, animated: true)
请有人正确指导我做错了什么,或者我需要做的清单或配置才能正常工作吗?
谢谢大家!
【问题讨论】:
-
你在哪里调用这个代码?这是在导航控制器中的视图控制器中吗?您似乎没有导航控制器作为父级。
-
是的,我要导航到的 ViewController 有一个导航控制器。
标签: ios uinavigationcontroller