簡體   English   中英

從NavigationBar刪除動作

[英]Delete an action from the NavigationBar

我有3個帶有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)
    }
}

還有另一種方法嗎?

如果登錄成功,為什么不直接使用

self.navigationController?.popToRootViewControllerAnimated(true)

在AccountView的viewDidApper中,您可以通過這種方式從ViewControllers堆棧中刪除LoginView

self.navigationController?.viewControllers.removeAtIndex(1)

這樣,如果用戶返回,他/她將按要求看到主頁

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM