防止button连续点击

防止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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值