0

結構的開始如下...模態的UIViewController不會推到下一個的UIViewController

的UITabBarController - >的UINavigationController(S)

從每個UINavigationControllers的,我有一個的UIBarButtonItem模態地呈現一個UIViewController。

這個UIViewController有一個MKMapView在多個位置有引腳。點擊後,他們將顯示帶有泄露按鈕的註釋。

在這個UIViewController中,當按下註解的披露按鈕時,我打算推送一個詳細頁面(UITableViewController)。方法calloutAccessoryControlTapped:接收適當的引腳,但轉換到下一個控制器失敗。

我曾嘗試以下方法的每個組合...

  1. [self.navigationController ...]
  2. [self.parentViewController ...]
  3. [self.parentViewController .navigationController ...]

所述方法的任一...

  1. presentModalViewController:
  2. pushViewController:

我已經做了所有的這些與UIViewController的是自身的,也與它嵌入一個UINavigationController內。

所有這些屬性返回null ...

  1. self.navigationController
  2. self.parentViewController
  3. self.parentViewController.navigationController

這是第一次我曾經爲Xcode項目使用過storyboard。我錯過了一步嗎?

回答

0

嘗試擺脫代碼並通過控制從按鈕拖動到您希望以模態方式加載的視圖控制器來實現故事板中的轉換。當「Storyboard Segue」菜單彈出時,選擇「模式」。在模態視圖控制器,我喜歡用代碼來調用從模式返回:

[self dismissModalViewControllerAnimated:YES]; 

要呈現故事板視圖控制器編程滾動到節中gravityjack提供的鏈接。

例如,我有我的故事板創建一個視圖控制器,我可以用下面的兩個語句編程方式調用:

SettingsViewController *settingsVC = [self.storyboard instantiateViewControllerWithIdentifier:@"settingsVC"]; 
    [self.navigationController pushViewController:settingsVC animated:YES]; 
+0

不幸的是,我想以編程方式做到這一點。我必須從UIViewController中獲得很多視圖的segue附件,如果將來需要改變的話,這將會是一個非常大的混亂。謝謝! –

+0

我已在我的答案中以編程方式呈現視圖控制器添加了一個鏈接。 –

+0

這是一個有用的閱讀,但不是我正在尋找的答案的疑難解答類型。我在我的代碼中推送,彈出並呈現了許多控制器;問題在於這個特定的實例沒有正確觸發。我想接受這個答案,因爲你的回答可能會引導其他人將這個問題提交給他們正確的位置,但是,如果答案出現了,這對我來說是一個更好的方向,我將不得不頒獎給別人。再次感謝! –

相關問題