自定義帶點擊效果的imageView,自己封裝了一個創(chuàng)建imageView的方法件缸,代碼如下:
1彪标、.h文件聲明屬性和+方法
#import <UIKit/UIKit.h>
#importtypedef void (^tapClick)();//手勢點擊
@interface ZJImageView : UIImageView
@property(nonatomic)int id;
@property (nonatomic,strong) UILabel * titleLabel;
@property (nonatomic,strong) UIImageView * smallView;
//手勢方法
+(ZJImageView *)imageViewWithframe:(CGRect )frame andClickBlock:(tapClick)myblock;
@end
2、.m文件中實現(xiàn)+方法
#import "ZJImageView.h"
@interface ZJImageView ()
@property(nonatomic,copy)tapClick tempBlock;//過度Block
@end
@implementation ZJImageView
/**
*? @author zhengju, 16-06-30 11:06:42
*
*? @brief 手勢點擊方法
*
*? @param frame? 創(chuàng)建UIImageView對象的frame
*? @param myblock Block
*
*? @return 返回帶點擊效果的imageView
*/
+(ZJImageView *)imageViewWithframe:(CGRect )frame andClickBlock:(tapClick)myblock{
ZJImageView *imageView = [[ZJImageView alloc]initWithFrame:frame];
imageView.tempBlock = myblock;
//添加點擊手勢
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:imageView action:@selector(tapMethod:)];
[imageView addGestureRecognizer:tap];
imageView.userInteractionEnabled = YES;
//活動文字背景
imageView.smallView = [[UIImageView alloc]initWithFrame:CGRectMake(0, frame.size.height-20, frame.size.width, 20)];
imageView.smallView.image = SET_IMAGE(@"活動文字背景");
[imageView addSubview:imageView.smallView];
//文字顯示
imageView.titleLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, frame.size.height-20, frame.size.width, 20)];
imageView.titleLabel.text = @"請匹配圖片.....";
[imageView addSubview:imageView.titleLabel];
return imageView;
}
/**
*? @author zhengju, 16-06-30 11:06:53
*
*? @brief 手勢方法
*
*? @param tap 手勢
*/
-(void)tapMethod:(UITapGestureRecognizer *)tap{
ZJImageView *imageView=(ZJImageView *)tap.view;
if (imageView.tempBlock) {//判斷是否實現(xiàn)Block
imageView.tempBlock();
}
}