以编程方式更改导航栏标题

mho*_*gan 19 xcode uinavigationcontroller ios

我正在尝试以编程方式更改导航栏的标题,但我正在使用的代码不起作用.

self.navigationController.navigationBar.tintColor = [UIColor redColor];
self.navigationController.navigationItem.title=@"Hello";
Run Code Online (Sandbox Code Playgroud)

我可以设法更改栏的颜色而不是文本.

Mar*_*1ni 48

self.navigationController.navigationBar.topItem.title = @"YourTitle";
Run Code Online (Sandbox Code Playgroud)

  • 我有navbar和tabbar,当我尝试使用self.navigationItem.title或self.navigationcontroller.title或self.title以编程方式编辑导航标题时,它正在更改导航栏标题和tabbar上的第一个标签中的值.这条线确实只改变了导航条.只是为了有相同问题的人的未来参考:) (2认同)

Nim*_*wat 27

要么 self.navigationItem.title = @"Title";


Mud*_*pai 12

首先检查导航堆栈上当前控制器的索引

 NSLog(@"%@", self.navigationController.viewControllers );
Run Code Online (Sandbox Code Playgroud)

在找到当前ViewController的索引之后,让我们说1.

UINavigationController *navCon  = (UINavigationController*) [self.navigationController.viewControllers objectAtIndex:1];
    navCon.navigationItem.title = @"Hello";
Run Code Online (Sandbox Code Playgroud)

  • 在该控制器的viewWillAppear中,您可以应用相同的过程. (2认同)
  • 我没有天才,实际上我在以前的项目中遇到了同样的问题,那就是我有解决方案...... (2认同)

Sam*_* R. 7

您现在可以在XCode 或其viewController中使用内置方法setTitle.

[self setTitle:@"title"]

self.title=@"title"