IOS开发: 为UIImageView添加点击事件

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


    [bbc setUserInteractionEnabled:YES];
    [voaspecial setUserInteractionEnabled:YES];
    [bbc addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(clickCategory:)]];
    [voaspecial 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==bbc) {
        NSLog(@"bbc");
    }else if(viewClicked==voaspecial)
    {
        NSLog(@"voaspecial");
    }
  
}

© 2014, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记

发表评论

电子邮件地址不会被公开。 必填项已用*标注