禁止按鈕在一定時間內連續點擊


寫項目的時候就遇到了這個尷尬的問題,有的是需要進行網絡請求的,或者有的手機有點卡頓,

用戶就會連續點擊,經常出現的就是接連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

這樣的話按鈕就不會有限制了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章