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]也没有用。这里一定是出了什么问题,因为我一直在这样做。我知道这并没有多大帮助,但也许你可以展示更多的背景,因为问题似乎更深。