Target-Action(View实现button的效果)
2015-08-03 20:33
507 查看
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(@"实现点击效果");
}
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(@"实现点击效果");
}
相关文章推荐
- HDU1.1.1 A+B for Input-Output Practice (I)
- CentOS7安装redis数据库及php-redis扩展
- 图的环路问题
- 类的注册与动态生成
- 遍历集合
- 如何理解挂载点
- sql 基础
- hdu 3996 Gold Mine 最大权闭合子图
- NodeJS 常用模块整理
- linux将程序放到后台执行
- 数据结构与算法分析 java语言描述
- [hdu1079]简单博弈
- STL之queue
- [leedcode 190] Reverse Bits
- 最小费用最大流:HDU3488
- 指针合并字符串
- Java基础知识 第三章 流程控制
- linux的mount(挂载)命令详解
- Install And Configure Nagios on Ubuntu 14.04 LTS
- Socket原理与编程基础