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

Ios 以编程方式更改导航栏标题,ios,xcode,uinavigationcontroller,Ios,Xcode,Uinavigationcontroller,我试图以编程方式更改导航栏的标题,但我使用的代码无法工作 self.navigationController.navigationBar.tintColor = [UIColor redColor]; self.navigationController.navigationItem.title=@"Hello"; 我可以设法更改栏的颜色,但不能更改文本。尝试以下操作: [navigationController setTitle:@"Title"]; 首先通过检查导航堆栈上当前控制器的索引

我试图以编程方式更改导航栏的标题,但我使用的代码无法工作

self.navigationController.navigationBar.tintColor = [UIColor redColor];
self.navigationController.navigationItem.title=@"Hello";
我可以设法更改栏的颜色,但不能更改文本。

尝试以下操作:

[navigationController setTitle:@"Title"];

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

 NSLog(@"%@", self.navigationController.viewControllers );
找到当前ViewController的索引后,假设为1

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

self.navigationItem.title=@“title”

您现在可以在XCode

[self-setTitle:@“title”]


self.title=@“title”


中的viewController中使用内置方法

navigationController?.navigationBar.topItem?.title = "Superman title"

谢谢,它成功地为导航栏设置了标题,但我不想只为一个页面设置标题,而是希望每个选项卡都有不同的标题。我曾尝试在两个不同的选项卡上使用上述修复,但无论我最后单击哪个选项卡,导航栏标题都会永久更改。因此,即使我加载其他选项卡,标题也不会更改。你知道如何解决这个问题吗?在控制器的视图中,你可以应用相同的过程。我不是天才,实际上我在我以前的项目中也遇到过同样的问题,那是y,我有d个解决方案…我得到了空值。这段代码的工作原理与Mudit完全相同,但它更短。只需将其放置在ViewWillDisplay中,它就完美了我有导航栏和tabbar,当我试图用self.navigationItem.title或self.navigationcontroller.title或self.title以编程方式编辑导航标题时,它正在更改导航栏标题和tabbar上第一个选项卡的值。这一行只改变导航栏。仅供有相同问题的人参考:)这不是一个很好的例子,因为
navigationController
可能是一个实例变量,在这里不被共享。啊aththada:D maru啊
navigationController?.navigationBar.topItem?.title = "Superman title"