// MyImageView.h
// CoreData
//
// Created by Qianfeng on 15/10/7.
// Copyright (c) 2015年 xyz. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface MyImageView : UIImageView
- (void)addTarget:(id)target action:(SEL)action;
@end
//
// MyImageView.m
// CoreData
//
// Created by Qianfeng on 15/10/7.
// Copyright (c) 2015年 xyz. All rights reserved.
//
#import "MyImageView.h"
@interface MyImageView()
@property (nonatomic, weak) id target;
@property (nonatomic, assign) SEL action;
@end
@implementation MyImageView
- (void)addTarget:(id)target action:(SEL)action {
self.userInteractionEnabled = YES;
self.target = target;
self.action = action;
}
// # 开头 预处理 1. 收集警告 2. 忽略警告 3. 把警告释放掉
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
if ([self.target respondsToSelector:self.action]) {
[self.target performSelector:self.action withObject:self];
}
}
#pragma clang diagnostic pop
@end
// 控制器调用
ViewController.m
@property (weak, nonatomic) IBOutlet MyImageView *myImageView;
@implementation ViewController
- (void)viewDidLoad {
//增加图片点击
[self addTapClick];
}
#pragma mark - UIImagePickerController
- (void)addTapClick {
[self.myImageView addTarget:self action:@selector(imageClick:)];
}
- (void)imageClick:(MyImageView *)imageView {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
//获取相册
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.allowsEditing = YES;
picker.delegate = self;
[self presentViewController:picker animated:YES completion:nil];
}
程序不完整,只是体现方法使用