2012-05-03 149 views
0

必須有一個非常簡單的解決方案,但它一直在絞盡腦汁!故事板PeformSegue

我有一個應用程序在應用程序啓動時呈現「登錄」屏幕,如果Facebook會話無效並且它在Facebook會話有效時繼續顯示主屏幕。所有這些在我的AppDelegate.m中定義的

這在應用程序啓動時工作得很好。它選擇了正確的viewController,如果Facebook是或未登錄。

我的問題是如果Facebook沒有登錄提交的登錄屏幕。它是一個UIViewController,並有一個UIButton登錄用戶,當用戶登錄時它應該執行一個segue到主視圖,這是一個帶有嵌入式NavigationController的UITableViewController。

我已經嘗試使用:

[self performSegueWithIdentifier:@"fbLoginYes" sender:self]; 

但它從來塞格斯,即使從按鈕直接觸發。

是否有觸發這樣的segue的問題?即ViewController到TableViewController?

任何幫助,將不勝感激!

這是我的故事板的圖像: enter image description here

回答

0

什麼類型賽格瑞的是什麼呢?這是推動嗎? 你真的有一個UINavigationController嵌入在UITableViewController?或者是周圍的其他方式?

我會檢查的第一件事是在故事板中Segue的名稱。此外,在啓動segue的視圖控制器中,您可以捕獲名爲-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender的方法。嘗試在其中放置一個斷點並查看它是否被調用。如果是這樣,問題可能在實際中,如果沒有,這只是意味着你沒有調用segue的權利。

+0

我添加了一個截圖,以便您可以看到我正在處理的內容。這是一個Push Segue連接,而不是按鈕,但從視圖控制器到導航控制器...我有這樣的調用: – Brian

+0

當應用程序進入前臺,showLoggedIn方法時,NSNotificationCenter調用showLoggedIn方法使用[self performSegueWithIdentifier:@「fbLoginYes」sender:self];執行segue ...即使showLoggedIn方法是,segue也不會被觸發。 – Brian

+0

難道你不需要在導航控制器中嵌入你的登錄(root)viewController嗎? –