无法更改导航栏后退按钮的背景图像[重复]
Posted
技术标签:
【中文标题】无法更改导航栏后退按钮的背景图像[重复]【英文标题】:Trouble changing background image of navigationbar back button [duplicate] 【发布时间】:2013-07-11 06:13:32 【问题描述】:我相信我已经为这个问题尝试了所有其他 SO 解决方案。
我使用以下代码更改导航栏的背景图片后退按钮。
UIImage *image = [UIImage imageNamed:@"standard_bt.png"];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
这使得按钮看起来像这样:
没有这段代码,它看起来像这样:
现在,我想要第一张图片的背景图片,以及第二张图片的后退按钮shape强>。
注意:我想在不修改名为“standard_bt.png”的图像的情况下实现这一点
我该怎么做?这可能吗?
【问题讨论】:
【参考方案1】:你已经做对了。
ios SDK 没有提供方便的方法来根据标准后退按钮的形状更改 UIImage 对象的形状。
也就是说,答案是:不,你不能在不改变按钮的背景图像本身的情况下,通过自定义实现一个形状的后退按钮。
【讨论】:
【参考方案2】:使用您的按钮图像创建自定义按钮。并添加到左侧导航栏。
如下图
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;
【讨论】:
以上是关于无法更改导航栏后退按钮的背景图像[重复]的主要内容,如果未能解决你的问题,请参考以下文章