Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何刷新导航栏以显示最新的标题?_Objective C_Ios_Uinavigationbar_Page Title - Fatal编程技术网

Objective c 如何刷新导航栏以显示最新的标题?

Objective c 如何刷新导航栏以显示最新的标题?,objective-c,ios,uinavigationbar,page-title,Objective C,Ios,Uinavigationbar,Page Title,在我的实现中,我将在触发某些方法后更改页面的标题 //In viewdidload of my view controller which resides in a navigation controller -(void)viewDidLoad { self.title = @"Title A"; } -(void)changeTitle { self.title = @"Title B"; } 在上面的示例中,触发“changeTitle”方法后,我没有立即看到view

在我的实现中,我将在触发某些方法后更改页面的标题

//In viewdidload of my view controller which resides in a navigation controller
-(void)viewDidLoad
{
    self.title = @"Title A";
}


-(void)changeTitle
{
    self.title = @"Title B";
}
在上面的示例中,触发“changeTitle”方法后,我没有立即看到viewcontroller的标题更改。事实上,我需要将另一个viewcontroller推到堆栈上,然后在看到更改为“标题B”之前按“后退”


有没有办法在我更改标题时刷新导航栏的标题?

我想您正在寻找:

UrNavController.navigationBar.topItem.title=@“BKJASDKAHSDFLFLKJADF”

您可以在按下按钮后将其重置


您还可以将一些其他对象指定给该topitem,如segmentcontrol或uilabel。

如果要刷新上一个viewController的标题,请使用

self.parent?.title = "Some Title"

目标-C

[self.navigationItem setTitle:@"XYZ"];
Swift 4.2

self.navigationItem.title = "XYZ"

尝试
[self.view setNeedsLayout]Hmmm尝试过,但仍然相同,标题没有更改。我尝试了[self.navigationController.view setNeedLayout]也没有用。这里一定是出了什么问题,因为我一直在这样做。我知道这并没有多大帮助,但也许你可以展示更多的背景,因为问题似乎更深。