天天看点

避免按钮重复点击

一:避免屏幕内多个button被同时点击

// 一:避免屏幕内多个button被同时点击,在didFinishLaunchingWithOptions方法中
//    [[UIButton appearance] setExclusiveTouch:YES];
           
二:避免单个按钮重复点击

二:点击后设为不可被点击,几秒后恢复

- (IBAction)方法一:(id)sender {
    NSLog(@"点击后设为不可被点击,几秒后恢复");
    _clickNotAbleButton.enabled = NO;
    [self performSelector:@selector(changeButtonStatus) withObject:nil afterDelay:];
}
-(void)changeButtonStatus{
    _clickNotAbleButton.enabled = YES;
}
           

三:在每次点击时先取消之前的操作

//三:afterDelay
- (IBAction)方法三:(id)sender {
    [[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(buttonClick) object:nil];
    // 如果这里为3秒,在这三秒里,点击多少次,都只执行一次,buttonClick事件
    [self performSelector:@selector(buttonClick) withObject:nil afterDelay:f];
}

-(void)buttonClick{
    NSLog(@"在每次点击时先取消之前的操作");
}
           

四:runtime,后面文章有

继续阅读