推送特定 viewController
Push a specific viewController
我有 2 个故事板,故事板 1 中有一个登录页面,故事板 2 中有我的主页!所以问题出在我的主页上,我有注销按钮,当用户按下我想返回登录页面的按钮时,我已经尝试了一些对我不起作用的方法!
我试过了:
self.dismiss(animated: true, completion: nil)
并且:
for controller in self.navigationController!.viewControllers as Array { if controller.isKind(of: ViewController) { self.navigationController!.popToViewController(controller, animated: true) break } }
那么,有什么方法可以返回我的登录页面??
由于您的代码不起作用,我想您的登录视图控制器不在导航堆栈中。以下是您可以尝试的方法。
let storyboard = UIStoryboard(name: "Login", bundle: nil)
if let loginViewController = storyboard.instantiateInitialViewController() {
(UIApplication.shared.delegate as? AppDelegate)?.window?.rootViewController = loginViewController
}
你可以试试这个:
let sb = UIStoryboard(name: "1", bundle: nil)
let vc = sb.instantiateViewController(identifier: "ID") as! LoginVC
if let nav = navigationController {
nav.pushViewController(vc, animated: true)
}else {
self.present(vc, animated: true, completion: nil)
}
我有 2 个故事板,故事板 1 中有一个登录页面,故事板 2 中有我的主页!所以问题出在我的主页上,我有注销按钮,当用户按下我想返回登录页面的按钮时,我已经尝试了一些对我不起作用的方法! 我试过了:
self.dismiss(animated: true, completion: nil)
并且:
for controller in self.navigationController!.viewControllers as Array { if controller.isKind(of: ViewController) { self.navigationController!.popToViewController(controller, animated: true) break } }
那么,有什么方法可以返回我的登录页面??
由于您的代码不起作用,我想您的登录视图控制器不在导航堆栈中。以下是您可以尝试的方法。
let storyboard = UIStoryboard(name: "Login", bundle: nil)
if let loginViewController = storyboard.instantiateInitialViewController() {
(UIApplication.shared.delegate as? AppDelegate)?.window?.rootViewController = loginViewController
}
你可以试试这个:
let sb = UIStoryboard(name: "1", bundle: nil)
let vc = sb.instantiateViewController(identifier: "ID") as! LoginVC
if let nav = navigationController {
nav.pushViewController(vc, animated: true)
}else {
self.present(vc, animated: true, completion: nil)
}