我正在使用 xibs 和 swift,有没有一种方法可以使用 pushViewController
转到另一个 View 并以编程方式返回?
错误: fatal error :在展开可选值时意外发现 nil
我尝试过的事情:
- 设置为 Root View 不允许返回
2.
let rvc: LoginViewController = LoginViewController() self.navigationController!.pushViewController(rvc, animated: true)
如果我从 navigationController!
更改为 navigationController?
没有任何反应
最佳答案
仅当 View Controller 位于导航 Controller 的导航堆栈中时, View Controller 的 navigationController
属性 (self.navigationController
) 才会返回有效的导航 Controller 对象。
您可以尝试像这张图片中那样嵌入一个导航 Controller :
或者以编程方式创建它:
let navigationController = UINavigationController(rootViewController: self)
之后,您可以推送一个 viewController。
评论后更新: 关于你的错误:
It ran into error adding a root view controller <collegeSystem.FirstViewController: 0x7c280330> as a child of view controller:<UINavigationController: 0x7c91bc00>
您似乎在尝试这样做:
self.window.addSubview(navigationController.view)
代替:
self.window.rootViewController = navigationController
关于ios - pushViewController 无法快速在 xib 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38369411/