20

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

self.navigationController.navigationBar.tintColor = [UIColor redColor];
self.navigationController.navigationItem.title=@"Hello";

我可以设法更改栏的颜色,但不能更改文本。

4

6 回答 6

49
self.navigationController.navigationBar.topItem.title = @"YourTitle";
于 2012-06-05T09:58:34.840 回答
27

或者self.navigationItem.title = @"Title";

于 2012-06-05T10:24:40.283 回答
12

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

 NSLog(@"%@", self.navigationController.viewControllers );

找到当前 ViewController 的索引后,让我们说 1。

UINavigationController *navCon  = (UINavigationController*) [self.navigationController.viewControllers objectAtIndex:1];
    navCon.navigationItem.title = @"Hello";
于 2012-06-05T10:00:52.910 回答
7

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

[self setTitle:@"title"]

self.title=@"title"

于 2015-06-26T03:03:42.650 回答
1

对于 Swift 2.2

navigationController?.navigationBar.topItem?.title = "Superman title"
于 2016-08-11T09:54:12.657 回答
-2

试试这个:

[navigationController setTitle:@"Title"];
于 2012-06-05T09:53:40.197 回答