2012-07-31 37 views
1

我有一個登錄屏幕,在成功登錄後重定向到主頁。當重定向回到主屏幕時,按鈕不起作用,導航窗格不顯示

我重定向這樣的:

ViewController *viewController = [[UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil] instantiateViewControllerWithIdentifier:@"main"]; 

[self presentModalViewController:viewController animated:YES]; 

和重定向發生,以及主屏幕的負荷,但它的按鈕不再響應點擊和導航區域缺失。

我正在使用push segues。

有人會知道爲什麼會發生這種事情嗎?另外,現在我正在使用push segueys,但是我應該使用模態seguey嗎?

我的功能是:在一個屏幕上做一些邏輯,進入下一個屏幕。

+0

這會創建一個** new **'ViewController'。當你說「重定向」時,你確定這是你的意圖嗎? – 2012-07-31 16:42:47

+0

@PhillipMills也許我沒有在代碼中做我真正打算的。當用戶點擊鏈接後,網站將他們轉到新頁面,我真的只想在網站上交換屏幕。我將如何實現這一目標?謝謝! – GeekedOut 2012-07-31 16:45:38

+0

在登錄之前屏幕上是否有任何內容......如果是這樣,什麼?什麼把登錄到屏幕上......初始控制器,segue,代碼? – 2012-07-31 17:21:02

回答

2

首先,我會創建不同的整個「重定向」。在IB中,選擇登錄視圖控制器並將其拖動到主屏幕視圖控制器,然後選擇推送。選擇segue並添加標識符,並用
替換您的重定向方法[self performSegueWithIdentifier:@「IB中設置的標識符」sender:self];

2

這實際上也發生在我身上。我的情況是什麼,在屬性檢查器中有一個名爲Initial View的選項。保留它以便僅爲UINavigation控制器本身檢查選項。

試試看。如果它不工作,對不起:/

編輯:這是一個question我貼了一段時間後的獎金,並詳細介紹這個同樣的問題。看看答案。

1

你確定View有它的userInteractionEnabled嗎?

[self.view setUserInteractionEnabled:YES]; 
2

您需要更好地瞭解UINavigationControllers是如何工作的。按鈕不起作用的原因是您已將它們放在UINav控制器本身上,而不是放在與視圖關聯的「隱含」工具欄上。

UINavigationController使用推送視圖的控件替換其控件。如果你直接在UINav控制器上放置控件,你的viewController將不會獲得關聯的消息。

UINavigationController是它的視圖的容器。進入IB並將你的按鈕放在視圖繼承的工具欄的工具欄上,它會起作用。