首页 > 其他 > 详细

通过UIView来模拟 实现 Button的点击效果

时间:2015-08-04 23:07:48      阅读:320      评论:0      收藏:0      [点我收藏+]

首先建立根视图

在根视图上实现以下功能:
通过MyButton 实现 button的点击效果
首先建立一个类:MyButton这个类

1.在MyButton.h文件中写一个自定义的方法,把目标和对应的动作传过来

原代码:

-(void)addNewTarget:(id)target Action:(SEL)action;
 target :目标 ,button 执行哪一个类的方法,对应的目标就是那个类的对象
 action:动作 ,让button具体做什么事,执行的方法就是对相应的动作

2.在MyButton.h文件中低昂一两条属性,把对应的目标和动作保存起来

原代码:

@property(nonatomic, assign)id target;
@property(nonatomic ,assign)SEL action;

3.实现自定义的方法,储存目标和动作(在MyButton.m文件中)

原代码:

-(void)addNewTarget:(id)target Action:(SEL)action{
    _action=action;
    _target=target;
}

4.点击的触发条件 (在MyButton.m文件中)

-(void)touchesBegan:(NSSet )touches withEvent:(UIEvent )event{
}

5.让myButton来完成委托人的任务,从而实现点击效果(点击方法中实现)

[self.target performSelectorInBackground:self.action withObject:self];

6.在根视图控制器中 建立一个MyButton

原代码:

 MyButton *button =[[MyButton alloc] initWithFrame:CGRectMake(100, 100, 150, 40)];
 button.layer.cornerRadius=10;
    button.layer.borderWidth =1;
    button.tag =1000;
    [self.view addSubview:button];
    [button release];

7.使用自定义方法

原代码:

[button addNewTarget:self Action:@selector(click:)];

8.实现方法

原代码:

-(void)click:(MyButton *)button{
    NSLog(@"实现点击效果");

注意:要引入头文件 ,在appDelegate.m文件中引入根视图控制器头文件;在根视图控制器的.m文件中引入MyButton的头文件

版权声明:本文为博主原创文章,未经博主允许不得转载。

通过UIView来模拟 实现 Button的点击效果

原文:http://blog.csdn.net/mltianya/article/details/47282213

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!