2012-10-10 63 views
3

这是一个普遍的问题,但我会用一个具体的例子,以避免混淆问它:子视图VS childViewController

我正在开发一个具有单个屏幕上除其他事项外一个UIPickerView的应用程序。我想知道是否适当使一个自定义的PickerViewController类来控制我的UIPickerView,然后添加我的PickerViewController作为childVC ...

或者我应该只是在我现有的VC中创建一个UIPickerView的实例并从那里控制它?

我应该什么时候做这些选择,他们有什么优势?

欣赏帮助朋友。

回答

1

iOS 5.0引入了子视图控制器的概念。最初,除UINavigationController和UITabBarController之外的任何视图控制器都必须是模态和全屏。在iOS 5.0中,您现在可以在一个屏幕上显示多个UIViewController。这意味着一个UIViewController可以有许多子节点(UIViewController),每个子节点负责控制更具体的视图和模型。

1

如果UIPickerView是simoultaneously与其他UI元素在屏幕上,那么你应该只需添加它作为一个子视图。视图控制器的概念适用于开始管理完全不同的用户界面/窗口/元素集(但是您称之为)。如果选择器视图紧密地属于其他元素的功能,则不应为其创建单独的视图控制器。

+0

有道理,谢谢。那么添加子VC的正确使用场景是什么? – JordanC

+0

@JordanC当你切换到一个全新的上下文/窗口时, G。点击UITableViewCell上的'details'箭头打开文件浏览器视图控制器中文件的属性等。 – 2012-10-10 18:10:03

+0

在这种情况下,你不会只是做一个[self.navigationController pushViewController]吗? – JordanC

相关问题