block的简单使用:点击按钮在另一个控制器内调用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(@"按钮被点击了");
        
    }];

 

参考资料

posted @ 2016-09-13 10:13  高晓牛  阅读(556)  评论(0编辑  收藏  举报