-8

我相信我已经为此尝试了所有其他 SO 解决方案。

我使用以下代码更改导航栏后退按钮的背景图像。

UIImage *image = [UIImage imageNamed:@"standard_bt.png"];
        [[UIBarButtonItem appearance] setBackButtonBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

这使得按钮看起来像这样:

在此处输入图像描述

没有这段代码,它看起来像这样:

在此处输入图像描述

现在,我想要第一张图片的背景图片,以及第二张图片的后退按钮形状

注意:我想实现这一点,而不必修改名为“standard_bt.png”的图像

我怎么做?那可能吗?

4

2 回答 2

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;
于 2013-07-11T06:35:32.720 回答
1

你已经做了正确的事。

iOS SDK 没有提供方便的方法来根据标准后退按钮的形状更改UIImage 对象的形状。

也就是说,答案是:不,如果不更改按钮的背景图像本身,您就无法通过自定义实现形状后退按钮。

于 2013-07-11T06:31:38.410 回答