在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视图。
- select源视图控制器的导航项目对象
- 在右侧的检查器视图中的“后退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 }