带导航栏的TabBarController

时间:2012-01-12 11:34:21

标签: ios uinavigationcontroller uitabbarcontroller

我正在编写一个使用底部的UITabBarController的应用程序。

层次

- Page 1
- - SubPage 1
- - SubPage 2
- - SubPage 3
- Page 2
- Page 3

第1页包含一个包含多个项目的网格,选中后将显示选择的子页面 在子页面上,我将TabBarController的Tabs替换为所有子页面,并希望在导航栏中显示后退链接。

我以编程方式创建tabBar 目前,我使用tabBarController作为rootViewController初始化navigationController 这似乎有效,但我无法改变NavigationBar上的任何内容,设置标题无效,按钮不会出现。

我做错了什么? 或者有更好的方法来达到我想要的目的吗?

我用ARC(仅限iPad)

定位iOS5

1 个答案:

答案 0 :(得分:4)

您可以通过设置子标题来设置父导航控制器的标题。您需要设置tabbar-controller的标题:

myTabBarController.title = @"Page 1";

您还可以在子视图中设置导航栏的按钮,因为栏的内容取决于当前的可见视图:

UIBarButtonItem *myItem = [[UIBarButtonItem alloc] initWithTitle:@"back" style:UIBarButtonItemStylePlain target:self action:@selector(myBackAction:)];
myTabBarController.navigationItem.leftBarButtonItem = myItem;

请记住,点击标签上的项目后更改标签栏的内容被视为糟糕的用户体验。可能还有其他更好的方法可以达到同样的效果。