UIImageView添加点击事件

作者: 任梦RM | 来源:发表于2016-04-17 10:17 被阅读531次

    UIImageView并不像UIButton那样点击鼠标就可以关联点击事件,也不像Android里有onClickListener,这个时候就需要借助UITapGestureRecognizer类,从类名上就可以看出,这个类就是用于处理tap(单击)事件的。
    创建两个UIImageView对象,imageView1和imageView2

    [imageView1 setUserInteractionEnabled:YES];
    
    [imageView2 setUserInteractionEnabled:YES];
    
    [imageView1 addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(clickCategory:)]];
    
    [imageView2 addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(clickCategory:)]];
    

    经测试,多个UIImageView不能共用一个UITapGestureRecognizer对象,之前调用的会没效果。
    根据点击的view判断来自谁的点击

    -(void)clickCategory:(UITapGestureRecognizer *)gestureRecognizer
    {
    NSLog(@"click");
    NSLog(@"%hhd",[gestureRecognizer isMemberOfClass:[UITapGestureRecognizer class]]);

    UIView *viewClicked=[gestureRecognizer view];
    if (viewClicked==imageView1) {
        NSLog(@"imageView1");
    }else if(viewClicked==imageView2)
    {
        NSLog(@"imageView2");
    }
    

    }

    相关文章

      网友评论

        本文标题:UIImageView添加点击事件

        本文链接:https://www.haomeiwen.com/subject/tneolttx.html