它似乎在兩種情況下都有效,但是爲什麼以及如何以及哪種方式是最好的方式?我應該在模態UIViewController或顯示它的UIViewController上調用dismissViewController嗎?
1
A
回答
6
爲什麼和
如何比方說,視圖控制器A已經提出B和B已呈現下,在轉。
當您致電dismissViewControllerAnimated:completion:
時,iOS會檢查您打電話給它的視圖控制器是否在其presentedViewController
屬性中有一個子項。如果是這樣,那麼它就會解散那個控制器。因此,如果我在我們的例子中將它稱作B,它將駁回C,但是如果我在A上調用它,它將駁回B(它帶走了C)。
如果我在C上調用它,那麼它沒有孩子。那麼iOS會檢查presentingViewController
屬性。如果設置了,它要求它解僱其控制器。因此,如果我在C上調用它,iOS會將請求發送回B,這會關閉C.
因此,在B或C上調用該方法將拋棄C,而在A上調用該方法則拋棄B和C 。
最佳實踐
調用它B,上呈現,每一次的東西。這是
減少混亂,因爲你的存在,並且駁回將是在同一個地方,並
更長遠的保障,因爲在未來的某個時刻,你可以使C存在另一個視圖控制器(D),然後解僱會突然中斷(它會突然開始解僱D,而不是解僱自己)。
相關問題
- 1. NavigationController在UIViewController上不顯示模態
- 2. 我可以在模態外顯示一個UIViewController嗎?
- 3. iPad應用程序,如何在uiviewcontroller上顯示uiviewcontroller
- 4. 在Logos調整中顯示UIAlertView或UIViewController
- 5. 從UIViewController調用UIViewController方法深深地嵌套在模態中
- 6. UIViewController檢查顯示模態視圖?
- 7. 顯示的UIViewController
- 8. 顯示UIViewController,NSOperationQueue
- 9. UIViewController應該控制UIView的動畫嗎?
- 10. 未在iPod上調用UIViewController
- 11. 顯示使用中的UIViewController
- 12. iphone uiviewcontroller不顯示?
- 13. UIImagePickerController後顯示UIViewController
- 14. UIScrollView沒有顯示在UIViewController上
- 15. 在UIViewController上顯示自定義UIView
- 16. 在DetailDisclosureButton上按下顯示UIViewController
- 17. 在UIPopoverController內顯示UIViewController
- 18. 在容器中顯示UIViewController
- 19. 顯示的UIViewController,香草模式
- 20. 我應該在每個UIViewController中偵聽可達性更新嗎?
- 21. 它的UIViewController
- 22. UIViewController不調用dealloc或調用兩次
- 23. 在主UiViewController中動態聲明子UiViewController
- 24. 在UINavigationController上設置toolbarItems屬性,或者在UINavigationController中顯示UIViewController?
- 25. UIViewController,以模態顯示,在設備旋轉時自行解除
- 26. UIViewController以模態形式顯示在當前視圖後面
- 27. 目前UIViewController在UIViewController模態內不包括全屏
- 28. 如何顯示的UIViewController而MBProgressHUD顯示
- 29. CollectionViewController,我應該使用普通的UIViewController繼承或實現它的委託/數據源嗎?
- 30. 模態的UIViewController不會推到下一個的UIViewController