禁止按钮在一定时间内连续点击

写项目的时候就遇到了这个尴尬的问题,有的是需要进行网络请求的,或者有的手机有点卡顿,

用户就会连续点击,经常出现的就是接连Push两个同样的控制器

当然还有重复调用网络请求的方法,等等等等。。。。

比较笨的方法就是在每个点击的地方把用户交互给关掉,等到功能实现后之后再将这个按钮的用户交互恢复。

当然了这种办法完全可以实现,但是假如数量过多的话,那就要写很多重复的代码,有没有简单一点的方法呢???

真的有,我自己写了一个静态库就可以实现这个功能。

这是GitHub的地址:

https://github.com/YouZhiZheShiJingCheng/YZButtonClick

那怎么用呢,其实很简单,你只要把这个文件夹直接添加到项目工程里,

然后在TARGETS->Build Settings->Other Linker Flags 添加一个值 -force_load

  接着再添加一个 $(SRCROOT)/YZButtonClick/libYZButtonClick.a(具体路径看文件位置)

这样的话就可以了,默认所有按钮的连续点击事件就必须得等1S才行,就这么简单。

有的人说了那有的按钮是不需要限制的,或者限制的时间能不能自己定。

当然可以了,你只要在PCH文件中导入

UIButton+YZ.h

这样的话你就可以修改时间了,当然了你也可以取消这个时间。

举个例子:

更改时间

UIButton * btn = [[UIButton alloc] init];

 btn.s = 1.5;

这样的话就是按钮连续点击事件必须间隔1.5S

不想限制的话也简单,只要把上面的1.5改成520就可以了

btn.s=520

这样的话按钮就不会有限制了。

 

发布了55 篇原创文章 · 获赞 7 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/YZ18337161090/article/details/56036024