2010-02-01 33 views

回答

5

-presentModalViewController-pushViewController是關於同一事物的兩種方式:顯示新視圖。您使用哪個取決於您要使用的用戶體驗。它們對用戶意味着不同的東西,但在實現上非常相似。

-addSubview是完全不同的。它將組件添加到當前視圖。你不應該使用它來顯示一個獨立的用戶界面。 -addSubview是以編程方式創建-loadView中的用戶界面時最常使用的,儘管它有許多其他用途。

+0

什麼時候使用presentModalViewController和pushViewController?我不知道什麼時候該用哪個。 – 2010-02-01 18:59:42

+0

Modal:http://developer.apple.com/iPhone/library/featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html NavController:http://developer.apple.com/iPhone/library/featuredarticles/ViewControllerPGforiPhoneOS/NavigationControllers/NavigationControllers。 HTML – 2010-02-01 20:48:17

3

下面就來看看它的一種方法:

內單navigatoin控制器視圖控制器的序列代表在用戶的頭的單個工作流程。如果在某個時候您需要中斷當前的工作流程並創建一個分散的工作流程,您可以創建一個模態對話框。如果新的工作流程只有一個步驟,您只需提供相應的控制器,但是如果有很多步驟,您可以創建一個新的導航控制器,將這些步驟組合在一起。

視覺效果不同 - 導航控制器用戶的注意力從左到右移動,而模態對話框從上到下。想象一下,你正在翻閱一本書(從左到右),並且在某一時刻你將書從你身邊移開,然後從桌子底下拉另一本書並將它放在你的前面(從上到下),然後開始閱讀另一本書(從左到右)。然後你關閉整本第二本書,然後返回到第一本你離開的書。

addSubview方法位於不同的抽象平面上 - 子視圖用於創建上述兩種體驗。您可以使用子視圖來創建不同的體驗,這些體驗將處於相同的抽象級別。在同一層次上結合更多的構造例子是UIAlertView和UIActionSheet。

相關問題