ios 防止按钮快速点击造成多次响应的避免方法。
2014-02-13 13:40
691 查看
#感谢边缘998
有时候有些操作是防止用户在一次响应结束中再响应下一个。但有些测试用户就要猛点,狂点。像这种恶意就要进行防止。
当然有些异步操作时,可以在调用前enable 掉。等CallBACK 后再enable起来。过程中按钮是不能点的。
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
{
//number为全局变量,在回调完了还要将number置零。
if (number ==
0) {
//在这里做按钮的想做的事情。
}
number ++;
}
- (void)starButtonClicked:(id)sender
{
//先将未到时间执行前的任务取消。
[[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(todoSomething:)object:sender];
[self performSelector:@selector(todoSomething:) withObject:sender afterDelay:0.2f];
}
对于第二种方法,快速点击N次,只要每次间隔在0.2秒内的都不响应操作,等到停下点击到达0.2秒后再执行。所以按照自己的需要设置响应时间,狂点吧。只响应一次。。
有时候有些操作是防止用户在一次响应结束中再响应下一个。但有些测试用户就要猛点,狂点。像这种恶意就要进行防止。
当然有些异步操作时,可以在调用前enable 掉。等CallBACK 后再enable起来。过程中按钮是不能点的。
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
{
//number为全局变量,在回调完了还要将number置零。
if (number ==
0) {
//在这里做按钮的想做的事情。
}
number ++;
}
- (void)starButtonClicked:(id)sender
{
//先将未到时间执行前的任务取消。
[[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(todoSomething:)object:sender];
[self performSelector:@selector(todoSomething:) withObject:sender afterDelay:0.2f];
}
对于第二种方法,快速点击N次,只要每次间隔在0.2秒内的都不响应操作,等到停下点击到达0.2秒后再执行。所以按照自己的需要设置响应时间,狂点吧。只响应一次。。
相关文章推荐
- ios 防止按钮快速点击造成多次响应的避免方法。
- ios 防止按钮快速点击造成多次响应的避免方法
- ios 防止按钮快速点击造成多次响应的避免方法。
- ios 防止按钮快速点击造成多次响应的避免方法。
- ios 防止按钮快速点击造成多次响应的避免方法。
- ios 防止按钮快速点击造成多次响应的避免方法
- ios 防止按钮快速点击造成多次响应的避免方法。
- ios 防止按钮快速点击造成多次响应的避免方法。
- ios 防止按钮快速点击造成多次响应的避免方法。
- ios 防止按钮快速点击造成多次响应的避免方法
- ios 防止按钮快速点击造成多次响应的避免方法。
- ios 防止按钮快速点击造成多次响应的避免方法。
- ios 防止按钮快速点击造成多次响应的避免方法
- ios 防止按钮快速点击造成多次响应的避免方法。
- ios 防止按钮快速点击造成多次响应的避免方法。
- 31.ios 防止按钮快速点击造成多次响应的避免方法。 取消正在执行中的方法
- ios 防止按钮快速点击造成多次响应的避免方法。
- 防止按钮快速连续点击造成多次响应的方法
- iOS 防止按钮多次点击造成多次响应的方法
- iOS 防止按钮多次点击造成多次响应的方法