Iphone 在NavigationController中设置后退按钮标题

Iphone 在NavigationController中设置后退按钮标题,iphone,uinavigationcontroller,uinavigationbar,uibarbuttonitem,Iphone,Uinavigationcontroller,Uinavigationbar,Uibarbuttonitem,我试图通过以下方式更改NavigationController中的后退按钮标题: 在父控制器中,我将其放入vieDidLoad: self.title = @"Calendars"; self.navigationItem.backBarButtonItem.title = @"Previous"; 但自从我初始化应用程序后,该控制器就在堆栈中: -(void)applicationDidFinishLaunching:(UIApplication *)application{ na

我试图通过以下方式更改NavigationController中的后退按钮标题:

在父控制器中,我将其放入
vieDidLoad

self.title = @"Calendars";
self.navigationItem.backBarButtonItem.title = @"Previous";
但自从我初始化应用程序后,该控制器就在堆栈中:

-(void)applicationDidFinishLaunching:(UIApplication *)application{

    navController.viewControllers= [NSArray arrayWithObjects:aController,aBcontroller,nil];
    [window addSubview:navController.view];

}
因此,在我第一次在B控制器中选择back按钮之前,不会调用A控制器中的viewDidLoad


当我将viewDidLoad推入堆栈时,有人知道如何调用它吗?或者您知道更改BackButtom标题的其他方法吗?

您应该将设置标题和导航项的代码放在
init
中,无需等待视图加载。

您应该将设置标题和导航项的代码放在
init
中,无需等待视图加载。

您可以使用以下代码行为您所在的任何ViewController设置“后退”按钮的标题:

self.navigationController.navigationBar.backItem.title = @"Previous";

您可以使用以下代码行为您所在的任何ViewController设置“后退”按钮的标题:

self.navigationController.navigationBar.backItem.title = @"Previous";
  • 在导航项目>后退按钮中,转到属性检查器下ViewController设置后退按钮标题的情节提要文件选择导航栏
      • 在导航项目>后退按钮中,转到属性检查器下ViewController设置后退按钮标题的情节提要文件选择导航栏
      这将适用于标题,但不适用于后退按钮。它会将backButtonItem的标题设置为控制器的标题,而不是“上一个”。出于某种原因,它仅在您自己创建按钮时起作用:
      self.navigationItem.BackburbuttonItem=[[[UIBarButtonItem alloc]initWithTitle:@“上一个”样式:uiBarbuttoneMStyleBorded目标:nil操作:nil]自动释放]这将适用于标题,但不适用于后退按钮。它会将backButtonItem的标题设置为控制器的标题,而不是“上一个”。出于某种原因,它仅在您自己创建按钮时起作用:
      self.navigationItem.BackburbuttonItem=[[[UIBarButtonItem alloc]initWithTitle:@“上一个”样式:uiBarbuttoneMStyleBorded目标:nil操作:nil]自动释放]只是一个小提示:为了让它像我预期的那样工作,我将上面的代码放在-(void)viewdideappease:(BOOL)animatedNote中,您可能需要将标题设置回viewwilldiscover中的原始值。此外,我可以看到“后退”按钮在动画幻灯片之后快速更改标题,因此这种技术并非完美无缺。navigationBar中的属性backItem是只读的。这个解决方案对我不起作用。如前所述:将代码行放入override func VIEWDIDISPENCE(动画:Bool){//here}。这是可行的。请注意:为了让它像我预期的那样工作,我将上面的代码放在-(void)viewdideappease:(BOOL)animatedNote中,您可能需要将标题设置回viewwilldiscover中的原始值。此外,我可以看到“后退”按钮在动画幻灯片之后快速更改标题,因此这种技术并非完美无缺。navigationBar中的属性backItem是只读的。这个解决方案对我不起作用。如前所述:将代码行放入override func VIEWDIDISPENCE(动画:Bool){//here}。这很有效。