Ios UIbarbutton蓝色而不是背景图像

Ios UIbarbutton蓝色而不是背景图像,ios,objective-c,uibutton,uinavigationbar,uibarbuttonitem,Ios,Objective C,Uibutton,Uinavigationbar,Uibarbuttonitem,我尝试使用自定义png文件添加背景的后退按钮,但每次使用故事板添加背景时,背景都会变成蓝色,如下所示: 如何在UIbarbutton上添加背景图像 “后退”按钮如下所示: 你需要按照语法来做。 我试过在故事板中这样做,看起来有一个非常奇怪的bug,它导致开发人员做出决定——要么使用文本,要么使用图像,而不是两者都使用 - (void)viewDidLoad { [super viewDidLoad]; [self addButtonsToNavigationBar];

我尝试使用自定义png文件添加背景的后退按钮,但每次使用故事板添加背景时,背景都会变成蓝色,如下所示:

如何在UIbarbutton上添加背景图像

“后退”按钮如下所示:


你需要按照语法来做。 我试过在故事板中这样做,看起来有一个非常奇怪的bug,它导致开发人员做出决定——要么使用文本,要么使用图像,而不是两者都使用

- (void)viewDidLoad
{
     [super viewDidLoad];

     [self addButtonsToNavigationBar];

}


- (void)addButtonsToNavigationBar
{
     UIButton *regularButton = [[UIButton alloc] initWithFrame: CGRectMake(0, 0, 100.0f, 30.0f)];
     UIImage *historyButtonImage = [UIImage imageNamed:@"image_name.png"];
      // can set the background color instead of setting an image. 
     [regularButton setBackgroundImage:historyButtonImage forState:UIControlStateNormal];

     [regularButton setTitle:@"Some button name" forState:UIControlStateNormal];
     [regularButton addTarget:self action:@selector(historyButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
     UIBarButtonItem *navigationBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:regularButton];
     self.navigationItem.leftBarButtonItem = navigationBarButtonItem;
}

这是iOS 7中按钮中图像的标准行为。图像渲染为模板图像,不透明区域的颜色为当前着色颜色,透明区域的颜色为透明。如果要查看图像,需要使用imageWithRenderingMode:创建图像,并将UIImageRenderingModeAlwaysOriginal作为参数传递。

我尝试了您的代码,但没有显示任何内容。真奇怪。