[英]Delete an action from the NavigationBar
我有3個帶有3個控制器的視圖: HomeView -> LoginView -> AccountView
在HomeView
我添加了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)
}
}
還有另一種方法嗎?
如果登錄成功,為什么不直接使用
self.navigationController?.popToRootViewControllerAnimated(true)
在AccountView的viewDidApper中,您可以通過這種方式從ViewControllers堆棧中刪除LoginView
self.navigationController?.viewControllers.removeAtIndex(1)
這樣,如果用戶返回,他/她將按要求看到主頁
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.