您的位置:首页 > 其它

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

2015-04-29 16:19 316 查看
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];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: