0

之間有什麼區別:presentModalViewController:差異

[self.navigationController presentModalViewController:nav animated:YES]; 

[self presentModalViewController:nav animated:YES]; 

如果自我是的UIViewController的子類。

除此之外,我關閉模態視圖又有什麼關係? 實施例:

[self dismissModalViewControllerAnimated:YES]; 

[self.navigationController dismissModalViewControllerAnimated:YES]; 

如果modalView由self.navigationController呈現,將它如果調用上self駁回,反之亦然?

我知道蘋果建議在實際實現中使用協議和委託,但我只是試圖找出「底層」下的行爲是否相同。

我一直在四處尋找嘗試找到答案,但我還沒有找到任何東西,所以如果這是一個重複,我在面前道歉。

感謝

回答

1

你打電話的這個什麼樣的階級(即什麼是self)。如果你是從視圖控制器調用它,然後不同的是,如果你使用self.navigationcontroller你可以self.navigationitem該視圖控制器互動沒有按您的視圖控制器呈現的modalviewcontroller而不是視圖控制器的navigationcontroller呈現模式的看法

沒有。

編輯:

是的,它給你推附加ViewControllersself.navigationController.ViewControllers數組,然後使用navigationBar從視圖控制器移動到視圖控制器的能力。

正如你可以做[self.navigationController presentModalViewController:nav animated:YES];,然後當用戶點擊一個按鈕,你可以按下一個視圖控制器[self.navigationController pushViewController:vc animated:YES];然後一個新的視圖控制器/視圖將在ModalView內呈現一個例子。當你解散ModalViewController時,你仍然會被運回原來的視圖控制器。

要回答你的第二個問題:你應該按照你提出的方式來解除模態視圖。因此,如果您使用self.navigationController來呈現,請使用self.navigationController來解散。

+0

因此,與self.navigationItem進行交互給我的東西,它沒有提供它沒有? – sasquatch 2012-04-05 17:07:13

+0

請參閱編輯。 – 2012-04-05 17:23:14