我有一个 UINavigationController 和 UITabBarController 同时可见。标签栏按钮和导航栏都从当前活动视图的标题中获取它们的文本。
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"View Title";
但是我想要不同的。事实上,无论显示哪个视图,我都希望导航控制器标题保持不变。
有任何想法吗?
非常感谢。
我有一个 UINavigationController 和 UITabBarController 同时可见。标签栏按钮和导航栏都从当前活动视图的标题中获取它们的文本。
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"View Title";
但是我想要不同的。事实上,无论显示哪个视图,我都希望导航控制器标题保持不变。
有任何想法吗?
非常感谢。
试试这个
UITabBarItem *tItem = [self tabBarItem];
[tItem setTitle:@"Title for tabbar"];
当您设置导航标题时,它不会更改您的标签栏标题
[self setTitle:@"Title for navBar"];
但我发现有时它会同时改变 tabBar 和 naviBar
然后我再次在 -(void)viewWillAppear 中插入 TabBar 设置标题代码以防止这种情况发生
谢谢
您必须像上面所做的那样,在其他视图控制器中手动分配标题名称。
如果您的视图层次结构的深度超过两级,请小心,因为后退按钮对用户来说看起来有点奇怪(除非您覆盖它)。事实上,如果每个视图都有相同的标题,那么用户可能会觉得很奇怪,句号...
-(void)viewDidLoad{
[self setTitle:@"Custom Title goes here"];
}
这对我有用。
根据 KwangBok Lee 的说法,我已经测试过,最好的答案是:
self.title = @"my settings";//changes both tabbars and navigationbars title
self.tabBarItem.title = @"settings";//only changes tabbars title
我发现的是......使用
self.tabBarController.title = @"navTitle";
更改导航栏标题,同时
self.title = @"tabTitle";
更改标签栏项目标题。