几秒钟后更改导航控制器标题

时间:2014-01-13 14:04:18

标签: ios

在iOs应用程序中,我使用的是UINavigationController。在启动时,这将有一个标题集,但几秒钟后(响应服务器的一些数据),这个标题将需要更改。

我试过了:

self.title = @"new title";

self.navigationController.title = @"new";
self.navigationItem.title- @"new";

什么都行不通......有什么建议吗?

3 个答案:

答案 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;
}