Ios UINavigationController如何设置标题

Ios UINavigationController如何设置标题,ios,uinavigationcontroller,Ios,Uinavigationcontroller,我有一个通用项目列表的控制器/视图,可以扩展以显示自定义列表。。列表和导航工作正常。。但是我不能更改UINavigationController的标题。 在通用控制器中: - (void)viewDidLoad { [super viewDidLoad]; [self.view addSubview: navigationController.view]; } - (void)setNavigationTitle: (NSString *)title { NSLog(@"

我有一个通用项目列表的控制器/视图,可以扩展以显示自定义列表。。列表和导航工作正常。。但是我不能更改UINavigationController的标题。 在通用控制器中:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.view addSubview: navigationController.view];
}
- (void)setNavigationTitle: (NSString *)title
{
    NSLog(@"set title: %@", title); // this works
    self.navigationController.title = title; // Nothing works here
}
然后,扩展类会执行

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self setNavigationTitle: @"Custom list"];
}
导航栏仍将“项”作为标题:(

使用

self.title = @"yourTitle";

UIViewController
中有一个
title
属性,该属性将由
NavigationController
显示。因此,当将新的
UIViewController
推到导航堆栈上时,将该
UIViewController
的标题设置为适当的标题

在您的情况下,看起来应该是:

[self setTitle:@"WhateverTitle"];

我知道它的老线索,但我想分享这个 在UIVIewControler派生类的“init”方法中设置“self.title”,
这对我很有用!!

对于那些寻求快速解决方案的人:

class CustomViewController: SuperViewController {
  override func viewDidLoad() {
    super.viewDidLoad()
    self.title = "My Custom Title"
  }
}
标题
需要在
UIViewController
上设置,而不是在嵌入视图控制器的
UINavigationController
上设置

文档:

Swift
title=“whateverTitle”
。它是一个
UIViewController
实例属性;可随时调用

从:

声明
var title:String?{get set}

讨论
将标题设置为描述视图的可读字符串。如果视图控制器具有有效的导航项或选项卡栏项,则为此属性指定值将更新这些对象的标题文本


未推送第一个视图:[self.view addSubview:navigationController.view];我也尝试了:self.title=@“AAAA”[self.view addSubview:navigationController.view];并且在推送视图中不工作(当用户选择项目时),标题已正确更改。我注意到您没有为导航控制器设置rootViewController。navigationController中的第一个视图控制器称为rootViewController。您可以使用self.title=@“xxx”设置其标题。我的导航栏没有“rootViewController”:?我现在有:NSLog(@“set title:%@”,title);self.title=title;self.navigationItem.title=title;self.navigationController.title=title;//这些作品都没有:/set title in-(void)viewwillbeen:(BOOL)动画方法你解决了这个问题,你能告诉我应该怎么做吗?“accepted”(by@willcodejavaforfood)的响应为我解决了这个问题。