ios - 更改后退按钮背景图像

标签 ios uinavigationbar uibarbuttonitem

使用此方法更改后退导航按钮的标题和背景图像。标题已更改但按钮保持黑色

- (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];
}

执行此操作的正确方法是什么?

最佳答案

使用setImagesetBackButtonBackgroundImage,因为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/

相关文章:

ios - 无法呈现 UISearchController

iphone - iPhone 横向 UIBarButtonItem 高度

ios - 将声音附加到 SKEmitterNode

javascript - 在 iOS 上触发 beforeunload 与 pagehide 的时间

后台的 ios(swift) 位置 (ios 9.3.2) 停止工作

iphone - 我可以更改 UINavigationController viewControllers 堆栈吗?

ios - UINavigationController 堆栈 UITabBarControllers 哪些堆栈其他 UINavigationControllers?

ios - 如何在 UIToolBar 上获取 UIBarButtonSystemItem 以将我带到另一个 View

iOS 11 : UIBarButtonItem inside UIToolbar goes out of its place

ios - 单击swift 3 iOS时UIButton没有 Action