为 UIImageView 添加Tap手势

//
//  ZJD_TapImageView.h
//  V6
//
//  Created by aidong on 15/8/18.
//  Copyright (c) 2015年 aidong. All rights reserved.
//

/**
 * 为UIImageView添加tap手势。
 * 用法:
     ZJD_TapImageView *iv = [[ZJD_TapImageView alloc] initWithFrame:CGRectMake(10, 10, 50, 50)];
     iv.image = [UIImage imageNamed:@"temp_背景"];
     iv.imageViewBlock = ^(void){
        // tap后触发的方法
        [UIAlertView simpleAlert:@"tap!"];
     };
     [self addSubview:iv];
 */
#import <UIKit/UIKit.h>

typedef void (^TapImageViewBlock)(void);

@interface ZJD_TapImageView : UIImageView

@property (nonatomic, copy) TapImageViewBlock imageViewBlock;

@end
//
//  ZJD_TapImageView.m
//  V6
//
//  Created by aidong on 15/8/18.
//  Copyright (c) 2015年 aidong. All rights reserved.
//

#import "ZJD_TapImageView.h"

@implementation ZJD_TapImageView

- (instancetype)initWithFrame:(CGRect)frame{
    self = [super initWithFrame:frame];
    if (self) {
        self.userInteractionEnabled = YES;
        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImageViewAction)];
        [self addGestureRecognizer:tap];
    }
    return self;
}

- (void)tapImageViewAction{
    if (self.imageViewBlock) {
        self.imageViewBlock();
    }
}


/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
    // Drawing code
}
*/

@end


你可能感兴趣的:(ios,tap,UIImageView)