為button設(shè)置背景圖片,默認(rèn)會(huì)有點(diǎn)擊閃爍的效果,這個(gè)效果是通過button 的highlighted屬性來控制的,點(diǎn)擊button的時(shí)候highlighted為YES,松開后highlighted為NO.所以只要在點(diǎn)擊事件處理方法中將highlighted設(shè)置為NO就可以了
示例如下:
- (void)viewDidLoad {
[super viewDidLoad];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.backgroundColor = [UIColor cyanColor];
[button setTitle:@"+" forState:UIControlStateNormal];
button.frame = CGRectMake(100, 64, 100, 30);
[button setBackgroundImage:[UIImage imageNamed:@"btn_bg"] forState:UIControlStateNormal];
[self.view addSubview:button];
[button addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside];
//保證所有touch事件button的highlighted屬性為NO,即可去除高亮效果
[button addTarget:self action:@selector(preventFlicker:) forControlEvents:UIControlEventAllTouchEvents];
}
- (void)buttonTapped:(UIButton *)button {
NSLog(@"touch up inside");
}
- (void)preventFlicker:(UIButton *)button {
button.highlighted = NO;
}