在我的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).你如何设置标签栏项目的标题?谢谢,艾萨克沃勒
我发现如果我用self.navigationItem.title = 'Blah';
而不是self.title
,它会起作用.
我刚解决了同样的问题.我正在使用我self.tabBarItem.item
的第一个标签tabBarController
,这是第一个也是唯一一个加载它的标签navigationController
.因此,对于标签栏中的第一个标签,您必须以不同方式设置标题.我试着说明一下:
标签栏有3个标签(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'
当标签栏viewControllers
为3个标签中的每个标签加载所有标签栏时,标签栏中的标签按钮具有以下标签:
'tab1查看'
"第二"
"3"
这是因为在用户选择这些选项卡之前,不会加载第2和第3个导航控制器.第一个选项卡在加载时UITabBarController
加载,由于事件的顺序,它将替换tabBarItem.title
为navController的rootViewController self.title
.
要解决此问题,您只需使用self.navigationItem.title
而不是self.title
.你只需要为第一个选项卡的navController的rootViewController执行此操作.
我希望这是有道理的.你确实解决了自己的问题,但我希望你和其他任何人都知道为什么它会像这样工作.