0

我對iOS中的導航視圖控制器和堆棧相當陌生。請幫助我,嘗試搜索很長一段時間找不到任何相關的東西。重定向到導航堆棧中的新視圖控制器

我有一個LoginViewController,一個用於側菜單操作的SWRevealViewController,一個FirstViewController(導航堆棧中的第一個)和一個SecondViewController(導航堆棧中的第二個)。

我必須做在LoginViewController以下,假設登錄,發現有兩個布爾變量:

if (login && !found) { 
//redirect to FirstViewController : the following works 
[self presentViewController:swReveal animated:NO completion:nil]; 
} 
else if (login && found) { 
//redirect to SecondViewController 
} 

請幫我填寫否則如果。真的很感謝你的時間!

+1

那麼你在哪裏實際使用FirstViewController?爲什麼你需要它,如果你不提交它?也許包括你的故事板的截圖,使你要求更清晰。 – RJiryes 2014-11-03 08:47:51

+0

如果找到的變量爲假,我需要FirstViewController。 具體應用是,如果手機在附近發現一個信標,則發現= YES,然後重定向到SecondViewController。 SecondViewController是FirstViewController的DetailView單元格,它是一個tableView。 – 2014-11-03 09:02:59

回答

0

因此,基於我從您的意見中瞭解的內容,FirstViewController是TableViewController的子類,SecondViewController是DetailView。

所以此基礎上,對「重定向」到的DetailView(SecondViewController),將創建的故事情節進行SEGUE,然後調用編程一旦FirstViewController被加載(在其viewDidLoad中),其賽格瑞

最好的方法

在這兩種情況下,您將首先顯示FirstViewController,然後根據if語句,您將停留或轉到SecondViewController。

所以第一步:從Storyboard創建一個segue,並給它一個標識符。

二:當FirstViewController被加載(當然,如果該語句是有效的)通過編程執行該賽格瑞:

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

更多關於這個問題的:

Alternative ways to push view controllers with storyboard programmatically

Creating a segue programmatically

+0

非常感謝您的回答.. 這意味着我必須通過FirstViewController嗎?我不能直接去SecondViewController ..?理想情況下,我想這樣做。 根據這個在LoginViewController中,如果找到beacon,我將一些FirstViewController的變量設置爲true,並且在FirstViewController的viewDidLoad中,如果變量爲true,則執行Segue。 – 2014-11-03 10:31:11

+0

是的,我認爲這是如果你想回到FirstViewController的方式,因爲它是第一個堆棧。 – RJiryes 2014-11-03 10:34:28

相關問題