4

我使用下面的代码创建了一个自定义栏按钮项。

UIImage* image3 = [UIImage imageNamed:@"iphone-btn-next@2x.png"];
CGRect frameimg = CGRectMake(0, 0,57,44);
UIButton *someButton = [[UIButton alloc] initWithFrame:frameimg];
[someButton setBackgroundImage:image3 forState:UIControlStateNormal];
[someButton setBackgroundImage:image3 forState:UIControlStateHighlighted];
[someButton addTarget:self action:@selector(flipView)
     forControlEvents:UIControlEventTouchUpInside];
[someButton setShowsTouchWhenHighlighted:YES];
UIBarButtonItem *mailbutton =[[UIBarButtonItem alloc] initWithCustomView:someButton];
self.navigationItem.rightBarButtonItem=mailbutton;

它工作正常,但问题是当我点击按钮时,我可以看到按钮中心的白色(见截图)。有人可以向我建议摆脱它的方法吗?

在此处输入图像描述

4

2 回答 2

4

删除这行代码:

[someButton setShowsTouchWhenHighlighted:YES];

根据文档

showsTouchWhenHighlighted => A Boolean value that determines whether tapping the button causes it to glow.
于 2013-06-05T01:36:50.047 回答
2

这应该是写答案

删除线

[someButton setShowsTouchWhenHighlighted:YES];

试试这个

UIImage* image3 = [UIImage imageNamed:@"iphone-btn-next@2x.png"];
CGRect frameimg = CGRectMake(0, 0,57,44);
UIButton *someButton = [[UIButton alloc] initWithFrame:frameimg];
[someButton setBackgroundImage:image3 forState:UIControlStateNormal];
[someButton setBackgroundImage:image3 forState:UIControlStateHighlighted];
[someButton addTarget:self action:@selector(flipView)
forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *mailbutton =[[UIBarButtonItem alloc] initWithCustomView:someButton];
self.navigationItem.rightBarButtonItem=mailbutton;
于 2013-06-05T01:48:20.293 回答