美文网首页
为button添加点击事件block

为button添加点击事件block

作者: iOS祎 | 来源:发表于2019-08-20 17:33 被阅读0次
#import "UIButton+Block.h"
static const char btnKey;

@implementation UIButton (Block)

- (void)ActionWithBlock:(ButtonBlock) block {
  if (block) {
  // 动态为UIButton关联block
    objc_setAssociatedObject(self, &btnKey, block, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
  }
  [self addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside];
}
// 点击事件中执行动态关联的block,实现 动态增加方法
- (void)action:(UIButton *)sender {
  ButtonBlock block = objc_getAssociatedObject(self, &btnKey);
  block(sender.tag);
}
@end

相关文章

网友评论

      本文标题:为button添加点击事件block

      本文链接:https://www.haomeiwen.com/subject/ljrjqqtx.html