如何让UIBarButtonItem'发光'?

时间:2010-04-18 20:03:50

标签: iphone uikit uibarbuttonitem uibarbuttonitemstyle

在地图应用中,当您按下左下角的跟踪按钮时,它会发光显示已按下。这使它的行为就像一个单选按钮,一旦你移动地图它就会取消发光。有一个简单的方法,但按钮进入按下状态?

5 个答案:

答案 0 :(得分:11)

我相信您正在寻找UIButton类的showsTouchWhenHighlighted属性。试一试。

myButton.showsTouchWhenHighlighted = YES;

答案 1 :(得分:10)

将其样式设置为UIBarButtonItemStyleDone。

答案 2 :(得分:3)

您可以将自定义视图设为这样的自定义按钮:

`

UIImage *image = [UIImage imageNamed:@"someimage"];
UIImage *imageHL = [UIImage imageNamed:@"someimage_selected"];
button = [UIButton buttonWithType:UIButtonTypeCustom];

[button setImage:image forState:UIControlStateNormal];
[button setImage:imageHL forState:UIControlStateHighlighted];
[button addTarget:self action:@selector(doStuff:) forControlEvents:UIControlEventTouchUpInside];    
myBarButtonItem.customView = button;

`

答案 3 :(得分:1)

使用UIBarButtonItemStylePlain

  

UIBarButtonItemStylePlain
  点击时发光。

答案 4 :(得分:0)

如果您的UIBarButtonItem包含image/textUIBarButtonSystemItem,请使用UIBarButtonItemStylePlain

barButton.style = UIBarButtonItemStylePlain;

如果你有一个带有自定义视图的UIBarButtonItem,那么,对于每个UIButton,应该添加以下代码:

uiButton.showsTouchWhenHighlighted = YES;