1.创建一个根视图控制器
2.创建一个MyButton的类继承于UIView
3.在MyButon的.h里
//通过MyButon实现button的点击效果
//1.通过自定义的方法,把目标和动作传到类的内部
-(void)addNewTarget:(id)target Action:(SEL)action;
//target:目标,button执行哪一个类的方法,对应的目标就是那个类的对象//action:动作,让button具体做什么事,执行的方法就是对应的动作
//2.通过两条属性,把对应的目标和动作保存起来
@property(nonatomic,assign)id target;
@property(nonatomic,assign)SEL action;
4.在MyButton的.m里
-(void)addNewTarget:(id)target Action:(SEL)action
{
//3.实现对应的自定义方法,并且让两个属性来保存对应的目标和动作
self.action =action;
self.target=target;
}
//4.给Button一个触发的条件,重写触摸开始的方法,只要一触碰touchesBegan方法,就会让button执行相应的点击方法
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
//5.类把他的方法,交给MyButton来完成
[self.target performSelector:self.action withObject:self];
}
//创建一个MyButton的对象
//通过UIView来模拟一个button的点击
Mybutton *mybutton=[[Mybutton alloc] initWithFrame:CGRectMake(100, 100, 100, 50)];
mybutton.backgroundColor=[UIColor brownColor];
[self.view addSubview:mybutton];
[mybutton release];
//6.使用自定义的方法
[mybutton addNewTarget:self Action:@selector(click:)];
}
-(void)click:(Mybutton *)button
{
NSLog(@"实现点击效果");
}