首页 文章

self.tabBarItem.title不工作?

提问于
浏览
12

在我的iPhone应用程序中,我有一个标签栏 . 此选项卡栏包含UINavigationController . 我有:

  • 在Interface Builder中将标签项 Headers 设置为'Create New'

  • 在UINavigation控制器中我有 self.tabBarItem.title = 'Create New';self.title = 'Create New';

  • 在推入控制器的UIViewController中:self.tabBarItem.title = 'Create New';但 self.title = 'Blah'; .

但是,总是会显示推入导航控制器的第一个视图控制器的self.title(Blah) . 你如何设置标签栏项目的 Headers ?谢谢,艾萨克沃勒

2 回答

  • 17

    我发现如果我使用 self.navigationItem.title = 'Blah'; 而不是 self.title ,它会起作用 .

  • 24

    我刚解决了同样的问题 . 我使用 self.tabBarItem.item 作为我的 tabBarController 的第一个标签,这是第一个也是唯一一个加载它 navigationController 的标签 . 因此,对于标签栏中的第一个标签,您必须以不同方式设置 Headers . 我试着说明一下:

    tab bar with 3 tabs (a UINavigationController 为每个标签提供内容)

    • 标签1

    • 加载tab1NavController.m(将 self.tabBarItem.item 设置为'1st')

    • 加载tab1ViewController.m(将 self.title 设置为'tab1 View'

    • 标签2

    • 加载tab2NavController.m(将 self.tabBarItem.item 设置为'2nd')

    • 加载tab2ViewController.m(将 self.title 设置为'tab View'

    • 标签3

    • 加载tab3NavController.m(将 self.tabBarItem.item 设置为'3rd')

    • 加载tab3ViewController.m(将 self.title 设置为'tab3 View'

    当标签栏为3个选项卡中的每个选项卡加载其所有 viewControllers 时,选项卡栏中的选项卡按钮具有以下标签:

    • 'tab1 View'

    • '2nd'

    • '3rd'

    这是因为在用户选择这些选项卡之前,不会加载第2和第3个导航控制器 . 加载 UITabBarController 时会加载第一个选项卡,由于事件的顺序,它会使用navController 's rootViewController' s self.title 替换 tabBarItem.title .

    解决方案

    要解决此问题,您只需使用 self.navigationItem.title 而不是 self.title . 你只需要为第一个选项卡_2802245的rootViewController执行此操作 .

    我希望这是有道理的 . 你确实解决了自己的问题,但我希望你和其他任何人都知道为什么它会像这样工作 .

相关问题