【问题标题】:TabBarController with NavigationBar带导航栏的 TabBarController
【发布时间】:2012-01-12 11:34:20
【问题描述】:

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

层次结构

- 第 1 页 - - 子页面 1 - - 子页面 2 - - 子页面 3 - 第2页 - 第 3 页

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

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

我做错了什么? 还是有更好的方法来实现我想要的?

我将 iOS5 与 ARC 结合(仅限 iPad)

【问题讨论】:

    标签: ios uinavigationcontroller uitabbarcontroller


    【解决方案1】:

    您通过设置子导航控制器的标题来设置父导航控制器的标题。您需要设置标签栏控制器的标题:

    myTabBarController.title = @"Page 1";
    

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

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

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

    【讨论】:

    • 谢谢,它有效。我在内容区域的点击中更改了 tabBar,而不是 tabBar 本身。
    猜你喜欢
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 1970-01-01
    • 2015-10-14
    相关资源
    最近更新 更多