Target-Action(View实现button的效果)

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];

}

5.在根视图控制器的.m里(引头文件)

//创建一个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(@"实现点击效果");

}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值