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