避免连续点击触发多次耗时操作
2015-02-05 18:04
393 查看
计算时间差:CFAbsoluteTimeGetCurrent()。
@property (nonatomic,assign)double startTime;
@property (nonatomic,assign)double endTime;
- (IBAction)tapPressed:(UIButton *)sender {
double diff =
0;//根据间隔需求而定
或初始化为0
if (_startTime==0) {
_startTime =
CFAbsoluteTimeGetCurrent();
_endTime =
_startTime;
}else{
_endTime =
CFAbsoluteTimeGetCurrent();
diff =
_endTime - _startTime;
_startTime =
_endTime;
}
NSString *testStr =
@"test";
if (diff < 2) {
NSLog(@"取消执行耗时更新操作 !");
[NSObject
cancelPreviousPerformRequestsWithTarget:self
selector:@selector(updateTest)
object:testStr];//把当前事件执行取消
}
[self
performSelector:@selector(updateTest)
withObject:testStr afterDelay:2];//当前新执行的事件
}
- (void)updateTest{
NSLog(@"updateTest !");
}
以上针对必要的多次点击时候比较有用(多次快速点击的最后一次点击应该是执行的),如果是偶然的误点击多次,可以用button的selected属性控制也可以,方法很多。
@property (nonatomic,assign)double startTime;
@property (nonatomic,assign)double endTime;
- (IBAction)tapPressed:(UIButton *)sender {
double diff =
0;//根据间隔需求而定
或初始化为0
if (_startTime==0) {
_startTime =
CFAbsoluteTimeGetCurrent();
_endTime =
_startTime;
}else{
_endTime =
CFAbsoluteTimeGetCurrent();
diff =
_endTime - _startTime;
_startTime =
_endTime;
}
NSString *testStr =
@"test";
if (diff < 2) {
NSLog(@"取消执行耗时更新操作 !");
[NSObject
cancelPreviousPerformRequestsWithTarget:self
selector:@selector(updateTest)
object:testStr];//把当前事件执行取消
}
[self
performSelector:@selector(updateTest)
withObject:testStr afterDelay:2];//当前新执行的事件
}
- (void)updateTest{
NSLog(@"updateTest !");
}
以上针对必要的多次点击时候比较有用(多次快速点击的最后一次点击应该是执行的),如果是偶然的误点击多次,可以用button的selected属性控制也可以,方法很多。
相关文章推荐
- [Unity小技巧] 避免手机触屏连续多次触发触摸touch事件
- 关于Asp.Net中避免用户连续多次点击按钮,重复提交表单的处理
- 如何避免点击事件连续操作时元素变蓝
- 避免点击触发多个按钮和快速点击多次触发事件
- ios避免button多次连续点击跳转到多个页面
- 关于Asp.Net中避免用户连续多次点击按钮,重复提交表单的处理
- 对于快速连续点击Button操作从而引发的多次提交数据问题;
- 关于Asp.Net中避免用户连续多次点击按钮,重复提交表单的处理
- 关于连续点击的处理、避免多次点击
- 防止快速连续点击button多次执行相同操作
- Android连续快速点击多次执行某操作的功能
- toast这么用避免连续多次点击产生的不好效果
- ios 防止按钮快速点击造成多次响应的避免方法。
- 避免resize多次触发执行的问题
- ios 防止按钮快速点击造成多次响应的避免方法
- WPF利用代码触发按钮点击操作
- 避免多次触发Page_Load
- ios 防止按钮快速点击造成多次响应的避免方法。
- 避免按钮快速点击造成的多次响应的避免方法
- jquery动画效果中,避免持续反应用户的连续点击