1

我用 barbutton 创建了如下视图

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"settingsicon.png"] style:UIBarButtonItemStylePlain target:self action:@selector(settingsButtonClicked:)];

在此处输入图像描述

它是这样来的,但我想要它

在此处输入图像描述

如何删除按钮的边框?

4

2 回答 2

16

用这个 :

UIBarButtonItem *barButton= [[UIBarButtonItem alloc] initWithCustomView:customButton];

您可以使用任何您想要的视图来初始化按钮。您可以制作一个按钮,其中包含任何(可接受的)视图。

例如。

// GRAPHICAL BUTTON FRAMEWORK
     UIButton* btton = [UIButton buttonWithType:UIButtonTypeCustom];
     [btton setFrame:CGRectMake(0, 0, 30, 30)];
     [btton addTarget:self action:@selector(SOMEROUTINE) forControlEvents:UIControlEventTouchUpInside];
     [btton setImage:[UIImage imageNamed:@"SOME IMAGE"] forState:UIControlStateNormal];
     UIBarButtonItem* barButton = [[UIBarButtonItem alloc] initWithCustomView:btton];

希望它可以帮助你。

于 2013-05-07T08:11:56.790 回答
15

另一种方法是删除按钮的背景图片:

// portrait
[self.navigationItem.leftBarButtonItem setBackgroundImage:[UIImage new] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
// landscape
[self.navigationItem.leftBarButtonItem setBackgroundImage:[UIImage new] forState:UIControlStateNormal barMetrics:UIBarMetricsLandscapePhone];
于 2013-07-02T10:55:56.347 回答