Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iPhone SDK: How to add an image to a UIBarButton?

Tags:

iphone

I have used the code below to create a button on the nav bar with an image.

I can see the image but I can also see the border of the button around it. My question is, how can I get rid of the button border. All I want to see is the image on the nav bar, no border.

UIBarButtonItem *settingsBtn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon_prefs.png"] style:UIBarButtonItemStylePlain target:self action:@selector(openSettings:)];
[[self navigationItem] setLeftBarButtonItem:settingsBtn];
[settingsBtn release];

Thanks in advance. Any pointers, links to read further or examples appreciated.

like image 319
butchcowboy Avatar asked May 27 '10 19:05

butchcowboy


1 Answers

Here's a code fragment from one of my current projects. It loads an image with transparency for a UIBarButtonItem:

UIImage* image = [UIImage imageNamed:@"some-image.png"];
CGRect frame = CGRectMake(0, 0, image.size.width, image.size.height);
UIButton* someButton = [[UIButton alloc] initWithFrame:frame];
[someButton setBackgroundImage:image forState:UIControlStateNormal];
[someButton setShowsTouchWhenHighlighted:YES];
UIBarButtonItem* someBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:someButton];
[self.navigationItem setRightBarButtonItem:someBarButtonItem];
[someBarButtonItem release];
[someButton release];
like image 89
Shaggy Frog Avatar answered Oct 19 '22 13:10

Shaggy Frog