在ios中设置back barbutton项的标题

我在我的应用程序中使用故事板,如果我设置ViewController类的title属性,那么当我推入一个SecondViewController时,该string将显示为我的后退button的文本,我该如何改变这一点?,我想把一个不同的后退button的标题。

我已经使用这个,但它不工作:

UIBarButtonItem *btnBack = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:nil]; [self.navigationItem setBackBarButtonItem: btnBack]; 

请帮帮我

尝试这个 ,

Objective-C的:

 UIBarButtonItem *btnBack = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleBordered target:self action:nil]; self.navigationController.navigationBar.topItem.backBarButtonItem=btnBack; 

迅速:

 var btn = UIBarButtonItem(title: "Done", style: .Plain, target: self, action: "backBtnClicked") self.navigationController?.navigationBar.topItem?.backBarButtonItem=btn 

当您使用故事板时,您可以更改左边栏button项的文本,也就是没有代码的后退button。 您显然需要在Storyboard中使用UINavigationController ,以便能够推送和popup视图。

  1. select源视图控制器的导航项目对象
  2. 在右侧的检查器视图中的“后退button”选项中input文本。

然后,当从这个视图推送视图时,它将使用这个标题集。

在这里输入图像说明

将backBarButtonItem设置为前一个viewController的navigationItem。 设置topItem只适用于第一次viewWillAppear。 请检查这个post的细节: iOS设置导航栏后退button标题

 NSArray *viewControllerArray = [self.navigationController viewControllers]; // get index of the previous ViewContoller long previousIndex = [viewControllerArray indexOfObject:self] - 1; if (previousIndex >= 0) { UIViewController *previous = [viewControllerArray objectAtIndex:previousIndex]; previous.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:backButtonTitle style:UIBarButtonItemStylePlain target:self action:nil]; } 

尝试改变第一个视图控制器的标题,你推第二个视图控制器,并设置标题当你popup。

尝试这个:

  UIBarButtonItem *btnBack = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(backButtonClicked:)]; [self.navigationItem setLeftBarButtonItem: btnBack]; -(void)backButtonClicked:(UIBarButtonItem*)sender { //do ur stuff }