UIButton添加block点击事件

来源:互联网 发布:linux 迅雷下载 编辑:程序博客网 时间:2024/05/16 19:31
#import <UIKit/UIKit.h>

@interface UIButton (Event)

-(void)handleAction:(void(^)(void))block;

@end


#import "UIButton+Event.h"
#import <objc/runtime.h>

typedef void(^ActcionBlock) (void);

@implementation UIButton (Event)

static char key;
-(void)handleAction:(void(^)(void))block
{
    [self addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
    objc_setAssociatedObject(self, &key, block, OBJC_ASSOCIATION_COPY_NONATOMIC);
    
}

-(void)buttonClick:(UIButton*)button
{
    ActcionBlock block = objc_getAssociatedObject(self, &key);
    if (block != nil) {
        block();
    }
}
@end


0 0
原创粉丝点击