【问题标题】:How can I remove left UIBarButtonItem's background如何删除左 UIBarButtonItem 背景
【发布时间】:2013-01-20 22:39:17
【问题描述】:

我试图去掉左边UIBarButtonItem的背景。

我的图像只是带有线条的图标。但是有黑色背景。 我的代码是:

paneViewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"menuicon"] style:UIBarButtonItemStylePlain target:self action:@selector(navigationPaneBarButtonItemTapped:)];
paneViewController.navigationItem.leftBarButtonItem.tintColor = [UIColor clearColor];

我哪里错了?

更新:

UIImage *myImage = [UIImage imageNamed:@"menuicon"];
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
[myButton setImage:myImage forState:UIControlStateNormal];
myButton.showsTouchWhenHighlighted = YES;
myButton.frame = CGRectMake(0.0, 0.0, myImage.size.width, myImage.size.height);

[myButton addTarget:self action:@selector(navigationPaneBarButtonItemTapped:) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *leftBarButton = [[UIBarButtonItem alloc] initWithCustomView:myButton];
paneViewController.navigationItem.leftBarButtonItem = leftBarButton;

这对我有用。谢谢

【问题讨论】:

  • 将对象创建为 UIButton,然后在 UIBarButtonItem 上调用 initWithCustomView:。
  • 猜我应该发帖作为答案,呵呵。不过,我确实喜欢写 cmets,很高兴它对你有用 :)

标签: ios uibarbuttonitem uibarbuttonitemstyle


【解决方案1】:

将对象创建为 UIButton(执行所有常规设置;框架、目标、背景图像...等),然后在 UIBarButtonItem 上调用 initWithCustomView:

【讨论】:

    【解决方案2】:

    这也有效:

    UIBarButtonItem *navButton = [[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"navbutton.png"]
                                                                      style:UIBarButtonItemStylePlain
                                                                     target:self
                                                                     action:@selector(buttonPressed)] autorelease];
    
    
    NSArray *buttonArray = [NSArray arrayWithObjects:navButton, nil];
    
    TransparentToolbar *toolbar = [[[TransparentToolbar alloc] initWithFrame:CGRectMake(0.0f, 0.0, 44.0f, 44.0f)] autorelease];
    toolbar.items = buttonArray;
    
    UIBarButtonItem *controls = [[[UIBarButtonItem alloc] initWithCustomView:toolbar] autorelease];
    self.navigationItem.rightBarButtonItem = controls;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-25
      • 1970-01-01
      • 2013-03-21
      • 2016-12-30
      • 1970-01-01
      相关资源
      最近更新 更多