使用此方法更改后退导航按钮的标题和背景图像。标题已更改但按钮保持黑色
- (void)viewDidLoad
{
[super viewDidLoad];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"topBarbackground.png"] forBarMetrics:UIBarMetricsDefault];
UIBarButtonItem *backButton = [UIBarButtonItem new];
[backButton setBackgroundImage:[UIImage imageNamed:@"backButton.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[backButton setTitle:NSLocalizedString(@"Back", nil)];
[[self navigationItem] setBackBarButtonItem:backButton];
}
执行此操作的正确方法是什么?
最佳答案
使用setImage
或setBackButtonBackgroundImage
,因为setBackgroundImage
没有效果:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"topBarbackground.png"] forBarMetrics:UIBarMetricsDefault];
UIBarButtonItem *backButton = [UIBarButtonItem new];
// Put the image inside the button
[backButton setImage:[UIImage imageNamed:@"backButton.png"];
[backButton setTitle:NSLocalizedString(@"Back", nil)];
[[self navigationItem] setBackBarButtonItem:backButton];
}
或
{
[super viewDidLoad];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"topBarbackground.png"] forBarMetrics:UIBarMetricsDefault];
UIBarButtonItem *backButton = [UIBarButtonItem new];
// Use the image as the button (like custom button)
[backButton setBackButtonBackgroundImage:[UIImage imageNamed:@"backButton.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[backButton setTitle:NSLocalizedString(@"Back", nil)];
[[self navigationItem] setBackBarButtonItem:backButton];
}
关于ios - 更改后退按钮背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17448386/