// target-action可以使UIView具有点击方法
// 自定义一个继承于UIView的类MyButton
***MyButton.h
//通过MyButton实现button的点击效果
//1.通过自定义的方法,把目标和动作传到类的内部
- (void)addNewTarget:(id)target
action:(SEL)action;
//Target:目标,button执行哪一个类的方法,对应的目标就是那个类的对象
//action:动作,让button具体做什么事,执行的方法就是对应的动作
//2.通过两条属性,把对应的目标和动作保存起来
@property(nonatomic, assign)id target;
@property(nonatomic, assign)SEL action;
@end
***Mybutton.m***
// 3.实现对应的自定义方法,并且让两个属性来保存对应的目标和动作
- (void)addNewTarget:(id)target
action:(SEL)action {
self.target = target;
self.action = action;
}
// 4.给Button一个触发条件,重写touchBegan方法,只要一触碰touchBegan方法,就会让butotn执行相应的点击方法
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
// 5.类把它的方法交给MyButton来完成
[self.target performSelector:self.action withObject:self];
}
***ViewController.m***
// 6.使用自定义的方法
[myButton addNewTarget:self action:@selector(click:)];