【发布时间】:2019-12-23 15:37:48
【问题描述】:
我有两个 ViewController。一个叫做 LoginVC,它也是我的 rootviewcontroller,另一个叫做 SignUpVC。
在我的 AppDelegate 中,我将 UINavigationbar 设置为:
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
window = UIWindow()
window?.rootViewController = UINavigationController(rootViewController: LoginVC())
return true
}
然后在我的 LoginVC 中,我使用它来显示我的 SignUpVC,但它不起作用。
@objc func handleShowSignUp() {
let signUpVC = SignUpVC()
navigationController?.pushViewController(signUpVC, animated: true)
}
有人可以向我解释我做错了什么吗?
【问题讨论】:
-
LoginVC 是否显示?不确定这是否只是一个错字,但您还需要添加
window.makeKeyAndVisible()。除此之外,它看起来还不错。 -
检查
LoginVC是否有navigationController -
您是否从 .plist 的主情节提要中删除情节提要?您的 appdelegate 上缺少 self.window?.makeKeyAndVisible() 让我觉得您正在打开默认故事板初始 VC,但您认为您是从 didFinishLaunchingWithOptions 打开它。
-
感谢大家的回复!我添加了 window.makeKeyAndVisible() 并从我的 .plist 中删除了“Main”,但它仍然无法正常工作。
-
@MattiasTörnqvist 我的回答有效吗?
标签: swift uinavigationcontroller pushviewcontroller