防止button连续点击的几个小技巧

在使用button的时候,用户往往不会按照开发人员想的来操作,比如连续点击。。。

下面介绍几个防止重复点击的方法

1、继承

自己创建一个button,继承于UIButton,然后重写点击方法sendAction:(SEL)action to:(id)target forEvent:(UIEvent *)event. 如下图


wtkFlag为自己添加的属性,用来判断当前button是否可以点击。为BOOL类型。点击5秒后,再把wtkFlag取反。就可以再次点击了。

2、runtime

使用runtime进行方法替换。在button的类别方法中,重写load方法,在load方法里边进行方法替换

自定义的方法如下


利用系统button的enable属性来控制button的点击频率。不过缺点就是enable这个属性在外部就不能再使用了。

如果想使用的话,可以使用runtime关联(associate)来添加属性,给button添加一个属性来记录当前button是否可以点击。

如下图

在类别中给button添加一个属性

这时候这个属性还是不能用的,因为类别中不能添加属性。需要实现wtkFlag的set、get方法


runtime关联对象添加属性

这时候就有了wtkflag这个属性了,在替换sendAction方法中使用即可。与继承类似。

demo连接 github.com/wangtongke/WTKButton.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容