【发布时间】:2010-04-18 20:03:50
【问题描述】:
在地图应用程序中,当您按下左下角的跟踪按钮时,它会发光,表明它已被按下。这使它表现得像一个单选按钮,一旦你移动地图,它就会不发光。有没有一种简单的方法可以让按钮进入按下状态?
【问题讨论】:
标签: iphone uikit uibarbuttonitem uibarbuttonitemstyle
在地图应用程序中,当您按下左下角的跟踪按钮时,它会发光,表明它已被按下。这使它表现得像一个单选按钮,一旦你移动地图,它就会不发光。有没有一种简单的方法可以让按钮进入按下状态?
【问题讨论】:
标签: iphone uikit uibarbuttonitem uibarbuttonitemstyle
我相信您正在寻找 UIButton 类的 showsTouchWhenHighlighted 属性。试试这个。
myButton.showsTouchWhenHighlighted = YES;
【讨论】:
将其样式设置为 UIBarButtonItemStyleDone。
【讨论】:
您可以将其自定义视图设置为自定义按钮,如下所示:
`
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;
`
【讨论】:
使用UIBarButtonItemStylePlain。
UIBarButtonItemStylePlain
点击时会发光。
【讨论】:
如果您的 UIBarButtonItem 带有 image/text 或 UIBarButtonSystemItem,则使用 UIBarButtonItemStylePlain
barButton.style = UIBarButtonItemStylePlain;
如果你有一个带有自定义视图的 UIBarButtonItem,那么,对于每个 UIButton 应该添加以下代码:
uiButton.showsTouchWhenHighlighted = YES;
【讨论】: