码迷,mamicode.com
首页 > 其他好文 > 详细

避免按钮快速点击造成的多次响应的避免方法

时间:2015-04-29 16:56:41      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:

1.可以使用定时器进行延迟.

- (void) timeEnough

{

  UIButton *btn=(UIButton*)[self.view viewWithTag:33];

  btn.selected=NO; 

[timer invalidate];

  timer=nil; 

}

 

 - (void) btnDone:(UIButton*)btn

 {

 if(btn.selected) return;

 btn.selected=YES;

 [self performSelector:@selector(timeEnough) withObject:nil afterDelay:3.0]; //使用延时进行限制。

//to do something.

 

2.将未到时间执行前的任务取消。个人觉得这种方法更为好用些。

- (void)todoSomething:(id)sender

{

    //在这里做按钮的想做的事情。

}

 

- (void)starButtonClicked:(id)sender

{

    //先将未到时间执行前的任务取消。

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

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

}

避免按钮快速点击造成的多次响应的避免方法

标签:

原文地址:http://www.cnblogs.com/chen124/p/4466306.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!