通常, 我们会采用如下的一些措施来防止重复点击UIButton:
使用UIButton的enabled或userInteractionEnabled
使用UIButton的enabled属性, 在点击后, 禁止UIButton的交互, 直到完成指定任务之后再将其enable即可.
[btn addTarget:self action:@selector(actionFixMultiClick_enabled:) forControlEvents:UIControlEventTouchUpInside];
// xxx
- (void)actionFixMultiClick_enabled:(UIButton *)sender {
sender.enabled = NO;
[self btnClickedOperations];
}
- (void)btnClickedOperations {
self.view.backgroundColor = [UIColor colorWithRed:((arc4random() % 255) / 255.0)
green:((arc4random() % 255) / 255.0)
blue:((arc4random() % 255) / 255.0)
alpha:1.0f];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSLog(@"btnClickedOperations");
btn.enabled = YES;
});
}