target:action使用

13 篇文章 0 订阅
12 篇文章 0 订阅

创建一个TargetActionView类

@interface TargetActionView : UIView
@property(nonatomic,assign)id target;  //定义属性
@property(nonatomic,assign) SEL action;

-(id)initWithFrame:(CGRect)frame target:(id)target action:(SEL)action;//初始化方法

@end


实现

#import "TargetActionView.h"

@implementation TargetActionView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}

-(id)initWithFrame:(CGRect)frame target:(id)target action:(SEL)action
{
    self=[super initWithFrame:frame];
    if (self) {
        _target=target;
        _action=action;
    }
    return self;
}

//touchesBegan方法
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [_target performSelector:_action withObject:self];
}




主函数
 TargetActionView *targetActionView=[[TargetActionView alloc]initWithFrame:CGRectMake(30, 30, 130, 130) target:self action:@selector(changColor:)];
    targetActionView.backgroundColor=[UIColor redColor];
    [self.view addSubview:targetActionView];
    // Do any additional setup after loading the view.
}


-(void)changColor:(TargetActionView *)color
{
    color.backgroundColor=[UIColor orangeColor];
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值