self.tabBarItem.title不工作?

Isa*_*ler 12 iphone tabbar uitabbarcontroller uiviewcontroller uinavigationcontroller

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

  • 在Interface Builder中将标签项标题设置为"新建"
  • 在UINavigation控制器中我有self.tabBarItem.title = 'Create New';self.title = 'Create New';
  • 在推入控制器的UIViewController中:self.tabBarItem.title ='Create New'; 但是self.title = 'Blah';.

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

Isa*_*ler 24

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

  • 是.TabBarItem和NavigationBar都继承self.title.但是,由于某种原因,无法更改TabBarItem的标题,只能更改NavigationItem.有点奇怪.此外,应在navigationItem.title之前设置self.title.仅供参考:) (4认同)

Bre*_*den 17

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

标签栏有3个标签(UINavigationController每个标签提供一个内容)

  1. 标签1
    • 加载tab1NavController.m(设置self.tabBarItem.item为'1st')
    • 加载tab1ViewController.m(设置self.title为'tab1 View'
  2. 标签2
    • 加载tab2NavController.m(设置self.tabBarItem.item为'2nd')
    • 加载tab2ViewController.m(设置self.title为'tab View'
  3. 标签3
    • 加载tab3NavController.m(设置self.tabBarItem.item为'3rd')
    • 加载tab3ViewController.m(设置self.title为'tab3 View'

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

  1. 'tab1查看'
  2. "第二"
  3. "3"

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

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

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