写项目的时候就遇到了这个尴尬的问题,有的是需要进行网络请求的,或者有的手机有点卡顿,
用户就会连续点击,经常出现的就是接连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
这样的话按钮就不会有限制了。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。