推送特定的viewController

时间:2018-09-17 18:42:30

标签: ios swift uinavigationcontroller uistoryboard

我有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 } }

那么,有什么方法可以返回我的登录页面?

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

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)
}

答案 1 :(得分:0)

由于您的代码无法正常工作,我想您的登录视图控制器不在导航堆栈中。这是您可以尝试的。

let storyboard = UIStoryboard(name: "Login", bundle: nil)

if let loginViewController = storyboard.instantiateInitialViewController() {
    (UIApplication.shared.delegate as? AppDelegate)?.window?.rootViewController = loginViewController
}