2010-02-01 38 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。

相关问题