2016-06-10 31 views
0

我有一個Android應用程序,我嘗試使用Xcode和Swift爲iOS重新創建。它從一個動畫屏幕開始,檢查一些東西,然後調用finish()並打開一個登錄屏幕,我也打電話給finish()以啓動應用程序的主要活動。有時我會用finish()關閉主要活動並再次打開登錄屏幕。我無法弄清楚如何在Swift中做到這一點。關閉一個ViewController並在iOS中啓動另一個(不是重複的,其他答案不起作用)

當我試圖在提出新的視圖控制器後關閉視圖控制器,它關閉了新的而不是舊的。重新排列這些行也不起作用。

我也嘗試過一種完成方法,在呈現新視圖控制器後關閉當前視圖控制器,並在解散舊視圖控制器後呈現新視圖控制器。這兩個選項都無效。下面是一個例子:

視圖解僱的控制器:

self.dismissViewControllerAnimated(true, completion: present) 

本()方法:

func present() { 
    let vc = self.storyboard!.instantiateViewControllerWithIdentifier("LoginViewController") as! LoginViewController 
    self.presentViewController(vc, animated: true, completion: nil) 
} 

我希望有不依賴於彼此所以就不會分開ViewControllers沒有一堆他們堆積不休。

+0

呈現新的沒有駁回舊的。當你想回到舊的。關閉新的。 –

+0

是,但以此爲例: 如果用戶沒有帳戶: 開始 - >登錄 - >(未註冊)註冊 - >驗證註冊 - >主視圖控制器 如果用戶有一個帳戶: 開始 - >登錄 - >主視圖控制器 如果用戶必須再次登錄,是否不必讓應用程序返回所有視圖控制器,直到它達到登錄? – Questioner

+0

如果你想前進 - 現在。如果你想退後一步 - 解僱。我不明白這裏的問題...... –

回答

0

您只能解散導航堆棧中的現有視圖控制器。 嘗試解散到現有的視圖控制器,然後提出你想要的VC

相關問題