当前位置:首页 > 开发 > 移动开发 > 正文

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

发表于: 2013-11-20   作者:dcj3sjt126com   来源:转载   浏览次数:
ios
摘要: 有时候有些操作是防止用户在一次响应结束中再响应下一个。但有些测试用户就要猛点,狂点。像这种恶意就要进行防止。 当然有些异步操作时,可以在调用前enable 掉。等CallBACK 后再enable起来。过程中按钮是不能点的。   1、可以使用: - (void) timeEnough {  UIButton *btn=(UIButton*)[self.view vi

有时候有些操作是防止用户在一次响应结束中再响应下一个。但有些测试用户就要猛点,狂点。像这种恶意就要进行防止。

当然有些异步操作时,可以在调用前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

{

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

}

 

- (void)starButtonClicked:(id)sender

{

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

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

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

}

 

对于第二种方法,快速点击N次,只要每次间隔在0.2秒内的都不响应操作,等到停下点击到达0.2秒后再执行。所以按照自己的需要设置响应时间,狂点吧。只响应一次。。

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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
需要引入 jquery.blockUI.js $.blockUI = function(opts) { install(window, opts); }; 此代码是jque
上图先,图上是一个按钮,点击后旋转,代码是网上找到的,不过找到的时候直接复制下来不能用,稍微
package com.itheima.doubleclick; import android.os.Bundle; import android.os.SystemClock; imp
如何防止程序多次运行 一、引言 最近发现很多人在论坛中问到如何防止程序被多次运行的问题的,如: ht
下面这段文字是摘抄的: 在用到mouseover和mouseout事件来作为事件触发的条件,但是如果我们用做触
最近换成Win10 Build 9926 系统后切换为Administrator账号后发现点击“开始”按钮无响应,决解方法
一: 开题 这篇只是一个简单的应用技巧,高手请跳过,别拍砖,打击我这个有激情的菜鸟。在我们的web
第一种:匿名内部类作为事件监听器类 大部分时候,事件处理器都没有什么利用价值(可利用代码通常都
<html><head> <meta charset="UTF-8"> <title>QQ</title> <meta
一、拖控件实现点击事件 1)创建一个新的工程,选择“Empty Application” 2)创建一个新的控制器 3
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号