2013-04-12 19 views
0

mHello人人如何dissmissing它

頂部的一個第一原諒我,如果我使用不正確的術語後,辦理初始的UIViewController。我有viewControllers的麻煩。我有一個viewController,我通過導航控制器訪問(觸發segues:rootViewcontroller-> firstviewcontroller)

現在我在第一個viewcontrolcontrol,它調用「viewdidLoad」,如果用戶沒有登錄,它執行模式segue loginViewController。

後,我對付這種觀點的登錄問題,我進行

  [self.presentingViewController dismissViewControllerAnimated:NO completion:nil]; 

解聘的LoginController中和把我帶回到了firstviewController沒有問題。

現在我的問題是,這種解僱行爲 - 沒有驚喜 - 不再調用「viewDidLoad」(以便我可以檢查用戶是否已登錄)。我想知道是否可以在解散第二個控件後自動調用firstViewController的任何部分,以便我可以自動檢查登錄狀態並相應地執行操作。

非常感謝

阿爾達

+0

無關注:我發佈此消息時,我的「Hello everyone」短語被裁剪。我添加了一個隨機字母(m)。我們不允許在這裏迎接人們嗎? – ardavar

回答

1

您可以覆蓋firstViewController的-viewWillAppear:方法。它會在您關閉登錄控制器後調用。

另一種方法是使您的firstViewController成爲登錄控制器的代表。完成登錄程序後,您可以致電委託來解除所提供的視圖控制器並更新子視圖

+0

'-viewDidLoad'不會再次被調用,因爲當呈現模態視圖控制器時視圖控制器的視圖不會被卸載,所以不需要再次加載視圖。儘管如此,在iOS6環境中仍然有一個例外。當應用程序收到內存警告時,它會卸載未呈現的控制器的視圖,因此在此情況下,噹噹前的模式視圖控制器被解除時,將調用「-viewDidLoad」。 – filwag

+0

你先生讓我的一天!我知道這很容易,我甚至爲此閱讀了文檔,直到現在我才意識到它。我猜想我睡了。非常感謝 – ardavar