2016-07-06 100 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)