11
This commit is contained in:
42
ShenQi/UIButton+DSButtonBlock/UIButton+DSButtonBlock.m
Normal file
42
ShenQi/UIButton+DSButtonBlock/UIButton+DSButtonBlock.m
Normal file
@@ -0,0 +1,42 @@
|
||||
//
|
||||
// UIButton+DSButtonBlock.m
|
||||
// DSChat
|
||||
//
|
||||
// Created by Mac on 2022/6/14.
|
||||
// Copyright © 2022 DS. All rights reserved.
|
||||
//
|
||||
|
||||
#import "UIButton+DSButtonBlock.h"
|
||||
|
||||
#import <objc/runtime.h>
|
||||
|
||||
@implementation UIButton (DSButtonBlock)
|
||||
|
||||
static char ActionTag;
|
||||
/**
|
||||
* button 添加点击事件
|
||||
*/
|
||||
- (void)addAction:(ButtonBlock)block
|
||||
{
|
||||
objc_setAssociatedObject(self, &ActionTag, block, OBJC_ASSOCIATION_COPY_NONATOMIC);
|
||||
[self addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
|
||||
/**
|
||||
* button 添加事件
|
||||
*/
|
||||
- (void)addAction:(ButtonBlock)block forControlEvents:(UIControlEvents)controlEvents
|
||||
{
|
||||
objc_setAssociatedObject(self, &ActionTag, block, OBJC_ASSOCIATION_COPY_NONATOMIC);
|
||||
[self addTarget:self action:@selector(action:) forControlEvents:controlEvents];
|
||||
}
|
||||
|
||||
- (void)action:(id)sender
|
||||
{
|
||||
ButtonBlock blockAction = (ButtonBlock)objc_getAssociatedObject(self, &ActionTag);
|
||||
if (blockAction) {
|
||||
blockAction(self);
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user