UIButton添加block点击事件
2015-11-04 11:30
555 查看
#import <UIKit/UIKit.h>
@interface UIButton (Event)
-(void)handleAction:(void(^)(void))block;
@end
#import "UIButton+Event.h"
#import <objc/runtime.h>
typedef void(^ActcionBlock) (void);
@implementation UIButton (Event)
static char key;
-(void)handleAction:(void(^)(void))block
{
[self addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
objc_setAssociatedObject(self, &key, block, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
-(void)buttonClick:(UIButton*)button
{
ActcionBlock block = objc_getAssociatedObject(self, &key);
if (block != nil) {
block();
}
}
@end
@interface UIButton (Event)
-(void)handleAction:(void(^)(void))block;
@end
#import "UIButton+Event.h"
#import <objc/runtime.h>
typedef void(^ActcionBlock) (void);
@implementation UIButton (Event)
static char key;
-(void)handleAction:(void(^)(void))block
{
[self addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
objc_setAssociatedObject(self, &key, block, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
-(void)buttonClick:(UIButton*)button
{
ActcionBlock block = objc_getAssociatedObject(self, &key);
if (block != nil) {
block();
}
}
@end
相关文章推荐
- Unique Paths II - LeetCode
- iOS 开发,UITableViewController中手势关闭cell中的键盘。且不影响tableView中的 didSelectRowAtIndexPath 方法。
- EasyUI form success IE
- Queue AbstractQueue Deque 源代码
- UIbutton文字相关
- UISlider自定义总结
- 自定义UitableViewcell 加载大图片的内存优化问题
- swagger-ui教程-构建api接口文档工具
- Android设计模式源码解析之Builder模式
- [原]使用ConcurrentLinkedQueue惨痛的教训
- 关于不用nib实现UICollectionView的使用
- PHP的轻量消息队列php-resque使用说明
- easyui datagrid 日间格化(JS 日期时间本地化显示)
- LeetCode—187.Repeated DNA Sequences
- 16进制颜色转化成UIColor
- UITableView横用
- 【LEETCODE】95-Unique Binary Search Trees II
- java.util.Queue简述
- CYC-UIPickerView(省份+城市)
- 创建操作/删除多行数据的UITableView的细节