UITabBarController中的多个视图和控制器

时间:2009-11-11 19:07:14

标签: iphone iphone-sdk-3.0

我正在尝试在UITabBarController中添加多个视图。目前我的对象层次结构如下所示:UITabBarController - > UIViewController * - > UIView的*。作为一个更具体的例子,我的UITabBarController的第一个视图控制器是一个UIViewController,它有三个子视图,由UISegmentedControl控制。根据选择的段,我将相应的视图推到前面。

我知道我可以使用UINavigationController管理我的三个视图;但是,我希望提供的数据并不是真正的层次结构。

我是否可以使用UITabBarController或UINavigationController以外的容器控制器示例?或者我应该使用另一种方法(我目前正在手动管理视图)。

谢谢!

2 个答案:

答案 0 :(得分:1)

视图控制器编程指南中介绍了

Custom view controllers

如果要更改布局以使用UINavigationController,可以删除分段控件视图,并使第一个视图成为导航控制器内的表视图。该表将具有分段控件具有的三个选项,并且点击它们将推动与该选项相关联的视图。这样您就可以创建分层视图布局而不是使用分段控件,分段控件通常用于切换功能而不是控制视图。

如果您选择这样做,these two指南部分将是一个很好的起点。

答案 1 :(得分:0)

实际上没有任何支持框架 - 通常你必须自己管理切换容器视图中的视图。

我过去采用的一种方法是为每个切换视图维护一组ViewControllers,并将viewController.view作为切换容器视图的子视图添加。然后我围绕视图控制器的切换编写代码,以便在所包含的视图控制器上调用viewWillAppear和viewWillDisappear,因为它们可以进行交换,这使得事情变得更加简单,因为您可以完全单独处理它们。

您可以通常编写该类,然后重复使用它。