自定义容器视图控制器

我想创build自己的容器视图控制器,即像UINavigationControllerUITabBarController 。 文件说我不应该这样做,但为什么不呢? 导航和tabbar容器是很好的例子,这样的事情是可能的,并且工作得很好。 我也明白,iPhone屏幕小,人们不应该通过导航button等搞乱,但在iPad上有很大的空间,并将其分割到许多视图控制器将给我们很大的机会。

我有一种感觉,苹果没有添加这样的API,但他们会的。 几天前,他们已经添加了有关iPad专用控制器(是的,容器的)的文档,他们已经修改了文本的东西不太严格。

无论如何…如果我尝试在一个屏幕上使用两个或更多视图控制器,可能会遇到什么问题? 我知道只有其中一人会得到像方向改变或低位记忆警告的事件,所以我必须将这些事件传递给所包含的VC。 我害怕与未来版本的iOS兼容,如果他们将添加新事件,那么包含VC将不会执行从UIViewControllerinheritance的默认操作。 还要别的吗? 你觉得我的应用可能会被苹果拒绝? 也许还有其他方法可以在每个屏幕上保留一些视图元素,而不需要将大量相同的代码复制到每个VC?

提前致谢。

iOS5现在支持这个function。 有关示例代码,请参阅此问题: 容器视图控制器示例

UINavigationController或UITabBarController的子类化是处理设备旋转问题的好方法,但是我不build议专门从多个视图控制器共享子视图。

也许inheritanceUIViewController是你在找什么。 然后当视图加载时,你可以从一个nib加载你的共享视图,并在你的UIViewController子类中定义出口,并且在你的子类中添加任何支持的代码来处理事件。 我自己做了这个添加一个状态更新消息,我希望能够出现在我的任何视图控制器的意见。