多次快速点击相同button导致重复响应的问题

Button在开发中经常用到,但是如果在瞬间点击多次时会出现多次响应事件的问题,今天给大家分享一下解决方法。


方法一:在Button响应事件中禁止Button允许点击,

-(void)buttonAction:(UIButton *)button

{

  button.userInteractionEnabled = NO;

  倒计时功能,timer
}

缺点:如果遇到一个手欠的人在瞬间点击多次还是会出现多记的问题。

方法二:让Button在0.2秒的时间间隔内是响应一次点击事件,

-(void)buttonAction:(UIButton *)button

{

  [[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(todoSomething:) object:button];

  [self performSelector:@selector(todoSomething:) withObject:btn afterDelay:0.2f]; }

}

-(void)todoSomething:(UIButton *)button

{

  //这里面写timer,timer调自己的方法

}

原文地址:https://www.cnblogs.com/francisblogs/p/5839270.html