天天看點

UIButton重複點選幾個方法

UIButton重複點選,重複觸發,針對這些暴力調試,不能讓方法無限制的觸發。

我尋找了很多人的解決方案, 把一些常用的介紹出來 .

1.設開關. (定時)

請求是異步操作時,可以在調用前enable關閉。等DidFinished後再enable打開。是以過程中按鈕是不能點的。

當然也可以控制UIbutton自帶的select屬性,範例如下:

- (void) btnDone:(UIButton*)btn

{

if(btn.selected) return;

btn.selected = YES;

[self performSelector:@selector(doSth) withObject:nil afterDelay:0.5]; //使用延時進行限制。

//to do something.

  • (void)doSth

    {

    UIButton btn=(UIButton)[self.view viewWithTag:33];

    btn.selected=NO;

    [timer invalidate];

    timer=nil;

    }

2.NSDelayedPerforming

/****** Delayed perform ********/

@interface NSObject (NSDelayedPerforming)

- (void)performSelector:(SEL)aSelector withObject:(nullable id)anArgument afterDelay:(NSTimeInterval)delay inModes:(NSArray

繼續閱讀