UILabel添加点击事件

为UILable添加点击事件,首先必须设置UILabel的userInteractionEnabled = YES,添加的点击事件才会有效,否则无效。
首先设置label1和label2两个属性,这里label1的点击原理是判断点击的座标是否在label1的范围内,如果在范围内的话就变蓝色,否则变红色,label1的代码被注释了,为了测试label2。
label2是直接给label2添加单击事件
具体代码如下:

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

//    UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap1:)];
//    [self.view addGestureRecognizer:tap1];

    UITapGestureRecognizer *uiTap2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap2:)];
    self.label2.userInteractionEnabled = YES;
    [self.label2 addGestureRecognizer:uiTap2];
}

- (void)tap1:(UITapGestureRecognizer *)param{
    NSLog(@"--------");
    CGPoint point = [param locationInView:self.view];
    if(CGRectContainsPoint(_label1.frame, point)){//如果单击的座标在label范围之内,则变蓝色,否则变红色
        _label1.backgroundColor = [UIColor blueColor];
    } else {
        _label1.backgroundColor = [UIColor redColor];
    }
}

- (void)tap2:(UITapGestureRecognizer *)param{
    NSLog(@"=========");
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章