左侧有一个拆分视图控制器和一个导航控制器。当视图被推送到导航控制器时,我正在尝试更改导航栏标题。问题似乎是文本只能在viewWillAppear
中更新。如果我尝试在初始加载后更改文本,则不会更新。起初我以为我需要在NavigationItem上调用setNeedsDisplay
,但它没有属性。我不明白,因为相同的代码在viewWillAppear
中有效,但在视图显示后却没有。
(void)viewWillAppear:(BOOL)animated{
self.title = @"blah";
...
}
答案 0 :(得分:2)
应为self.navigationItem.title = @"Some Title";
答案 1 :(得分:0)
我已经设置了一个简单的项目,其中初始控制器嵌入在导航控制器中,第二个控制器被推入导航堆栈。第二个控制器有一个按钮,可以调用这段代码:
- (IBAction)changeTitle:(id)sender {
static unsigned int i = 1;
self.navigationItem.title = [NSString stringWithFormat:@"Number of changes: %ud", i];
i++;
}
按预期工作。显然它发生在所有出现/布局事件之后。所以你的问题就在别的地方。也许你所指的self
是一个错误的控制者。
答案 2 :(得分:-3)
self.navigationBar.topItem.title = [NSString stringWithFormat:@“TOP”];