基本思路如下:
1.创建一个继承自UIImageVIew的类,自定义一个初始化方法
2.内部使用手势UITapGestureRecognizer来添加点击方法
3.将点击手势需要的两个参数写到初始化方法里,创建时从外部传入即可
4.关键的一点:要打开UIImageView的用户交互否则不会响应
使用方法大家一看便知,不再赘述
@interface TapImageView : UIImageView
//给当前imageView添加一个target(响应者)和一个action(点击事件)
- (instancetype) initWithFrame:(CGRect)frame target:(id)target action :(SEL)action;
@end
@implementation TapImageView
- (instancetype)initWithFrame:(CGRect)frame target:(id)target action:(SEL)action {
self = [super initWithFrame:frame];
if (self) {
//将参数传入tap点击事件
UITapGestureRecognizer *imageTap = [[UITapGestureRecognizer alloc] initWithTarget:target action:action];
//打开交互,否则不会响应
self.userInteractionEnabled = YES;
//添加手势
[self addGestureRecognizer:imageTap];
}
return self;
}
@end