2016-07-06 102 views
0

我有3个控制器的视图:HomeView -> LoginView -> AccountViewHomeView我添加了一个NavigationBarController。当用户登录到LoginView时,他被移动到AccountView。当他点击NavigationBar中的后退按钮时,他被发送到LoginView,这是问题所在。记录后,如果用户点击后退按钮,我想向他展示HomeView而不是LoginView。我试过这段代码,但需要一些时间才能执行,我可以看到LoginView几毫秒。从导航栏删除动作

override func viewWillAppear(animated: Bool) { 
    if let token = userDefaults.valueForKey("token") { //User logged in 
     self.performSegueWithIdentifier("homeSegue", sender: self) 
    } 
} 

有没有另一种方法呢?

+0

首先你需要检查你的故事板连接segue,因为你连接seque的一些地方,你也呼唤通过起诉'performSegueWithIdentifier' –

回答

0

在viewDidApper在AccountView,你可以删除一个LoginView从ViewControllers栈这样

self.navigationController?.viewControllers.removeAtIndex(1) 

这样,如果用户回去,他/她会看到主页的请求

0

如果登录成功,你为什么不只是使用

self.navigationController?.popToRootViewControllerAnimated(true)