【问题标题】: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”的图像的情况下实现这一点

我该怎么做?这可能吗?

【问题讨论】:

    标签: ios cocoa-touch uinavigationbar uinavigationitem


    【解决方案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;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-10
        • 1970-01-01
        • 2014-11-21
        相关资源
        最近更新 更多