iOS:使用Block回调按钮事件(自定义view)

本文介绍如何在iOS开发中使用自定义View并通过Block进行事件回调。从创建自定义View开始,逐步讲解如何绑定UIButton点击事件,利用Block传递点击信息至控制器的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 自定义CustomView,在头文件中提供block回调函数
@property (nonatomic, copy) void(^buttonClickBlcok)(NSInteger index);
  • 给其中的UIButton绑定事件监听器
[button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
  • 自定义View监听到按钮点击事件后,调用回调函数
 - (void)buttonClick:(UIButton *)button
{
    if (self.buttonClickBlcok) {
        self.buttonClickBlcok(button.tag);
    }
}
  • CustomSuperView中添加CustomView,并公开customViewButtonClickBlcok方法
@property (nonatomic, strong) void(^customViewButtonClickBlcok)(NSInteger index);

在其内部实现以下内容:

@property (nonatomic, strong) CustomView *customView;
__weak CustomSuperView *weakSelf = self;
        [_customView setButtonClickBlcok:^(NSInteger index) {
            if (weakSelf.customViewButtonClickBlcok) {
                weakSelf.customViewButtonClickBlcok(index);
            }
        }];
  • 最终控制器调用回调函数
@property (nonatomic, strong) CustomSuperView *customSuperView;
[customSuperView setCustomViewButtonClickBlcok:^(NSInteger index) {
            //TODO...
            NSLog(@"-------%zd",index);
        }];

实现:控制器->自定义View->自定义View中Button的事件通过Block的调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值