iosuibarbuttonitemuibarbuttonitemstyle

How can I remove left UIBarButtonItem's background


I tried to remove the background of the left UIBarButtonItem's background.

UIBarButtonItem

My image is just the icon with the lines. But there is black background. My code is:

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

Where am I wrong?

Update:

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;

That worked for me. Thanks


Solution

  • Create the object as a UIButton (do all the usual setup; frame, target, background image... etc) and then call initWithCustomView: on the UIBarButtonItem instead.