ios开发怎么把按钮的点击事件和block绑定在一起

2025-05-09 14:25:30
推荐回答(1个)
回答1:

将button的点击事件改为block

1、自定义一个继承于UIButton的按钮

2、声明block:

返回值类型 函数名 参数列表
typedef void (^ButtonBlock)(UIButton *);
@interface MyButton : UIButton

@property(nonatomic,copy)ButtonBlock block;
- (void)addTapBlock:(ButtonBlock)block;
@end

3、重写button的点击事件的方法
- (void)addTapBlock:(ButtonBlock)block
{
_block = block;
[self addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
}
- (void)buttonAction:(UIButton *)button
{
_block(button);
}

4、在视图控制器中调用button的block方法
[button addTapBlock:^(UIButton *button){

NSLog(@"按钮被点击了");

}];