在iOs应用程序中,我使用的是UINavigationController。在启动时,这将有一个标题集,但几秒钟后(响应服务器的一些数据),这个标题将需要更改。
我试过了:
self.title = @"new title";
self.navigationController.title = @"new";
self.navigationItem.title- @"new";
什么都行不通......有什么建议吗?
答案 0 :(得分:2)
self.title = @"new";
在必须从调用获取响应的方法中获得服务器响应后,可能会再次设置。
答案 1 :(得分:0)
self.navigationItem.title = @"Old title";
// after some time
double waitToUpdate = .5;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(waitToUpdate * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
self.navigationItem.title = @"New title";
});
答案 2 :(得分:0)
为每个视图更改UINavigationController
标题非常简单。你只需要改变self.navigationItem.title
的值。如果您不想延迟更改它,可以使用performSelector:withObject:afterDelay
。例如:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self performSelector:@selector(changeTitle:) withObject:@"New Title" afterDelay:2.]; // two seconds delay
}
- (void)changeTitle:(NSString *)title {
self.navigationItem.title = title;
}