// // UIButton+DSButtonBlock.m // DSChat // // Created by Mac on 2022/6/14. // Copyright © 2022 DS. All rights reserved. // #import "UIButton+DSButtonBlock.h" #import @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