更改所有UIViewControllers BackBarButtonItem?

我想在我的iOS应用程序的所有视图上更改BackBarButtonItem ,以便它们只显示没有文本的后退箭头。

唯一的方法是完成每个UIViewController并设置self.navigationItem.backBarButtonItem.title ? 看来我应该能够创build一个超类来定义backBarButtonItem.title的默认值,但我不知道从哪里开始。

感谢您的帮助。

您不需要在每个视图控制器类上更改它。 你可以下载它并改变一次,或者你可以在你的应用程序代理中完成。

如果您想要导航栏的子类,可以使用text @“”简单地设置后退button:

  UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil]; [[self navigationItem] setBackBarButtonItem:newBackButton]; 

如果你想在应用程序委托中做到这一点,你可以通过两种方式来做到这一点:

一种方法是将button文本的颜色设置为清晰的颜色:

 [[UIBarButtonItem appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor clearColor]} forState:UIControlStateNormal]; 

另一种方法是将后退button远离屏幕,所以用户看不到它

  [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -200) forBarMetrics:UIBarMetricsDefault];