码迷,mamicode.com
首页 > 其他好文 > 详细

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

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

标签:button点击效果   通过uiview模拟   

首先建立根视图

在根视图上实现以下功能:
通过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的点击效果

标签:button点击效果   通过uiview模拟   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!