我相信我已经尝试过所有其他SO解决方案。
我使用以下代码更改导航栏后退按钮的背景图片。
UIImage *image = [UIImage imageNamed:@"standard_bt.png"];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
这使按钮显示如下:
没有此代码,它显示如下:
现在,我希望第一张图片中的背景图片,第二张图片的后退按钮形状 。
注意:我想在不修改名为“standard_bt.png”的图像的情况下实现此目的
我该怎么做?这可能吗?
答案 0 :(得分:1)
你已经做对了。
iOS SDK没有提供一种方便的方法来根据标准后退按钮的形状更改UIImage对象的形状。
那就是说,答案是:不,你不能通过你的自定义实现形状的按钮而不改变按钮的背景图像本身。
答案 1 :(得分:1)
使用按钮图像创建自定义按钮。并添加到左侧的导航栏。
就像下面的
UIImage *menuImage = [UIImage imageNamed:@"bar.png"];
UIButton *menuButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, menuImage.size.width, menuImage.size.height)];
menuButton.backgroundColor = [UIColor colorWithPatternImage:menuImage];
UIBarButtonItem *customBarButtonItem_left = [[UIBarButtonItem alloc] initWithCustomView:menuButton];
[menuButton addTarget:self action:@selector(CallBack:) forControlEvents:UIControlEventTouchDown];
self.navigationItem.leftBarButtonItem = customBarButtonItem_left;