iPhone SDK:如何将图像添加到UIBarButton?

6
我使用下面的代码在导航栏上创建了一个带有图片的按钮。我能看到图片,但同时也能看到围绕它的按钮边框。我的问题是,如何去掉按钮边框,我只想在导航栏上看到图片,没有边框。
UIBarButtonItem *settingsBtn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon_prefs.png"] style:UIBarButtonItemStylePlain target:self action:@selector(openSettings:)];
[[self navigationItem] setLeftBarButtonItem:settingsBtn];
[settingsBtn release];

提前感谢您的帮助。欢迎提供指导、进一步阅读链接或实例。

1个回答

20

这是我当前项目中的一部分代码。它为一个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];

谢谢Shaggy Frog。我添加了这行代码,使其在按下时执行某些操作。 [settingsButton addTarget:self action:@selector(openSettings:) forControlEvents:UIControlEventTouchUpInside]; - butchcowboy
我之前有那一行代码,但将其删除了——我猜我应该把它留下来。 :) - Shaggy Frog

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接