您的位置:首页 > 移动开发 > IOS开发

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

2015-03-30 21:24 316 查看
自定义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的调用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios Block 回调 事件