如何识别触摸了哪个imageView?

时间:2014-04-19 00:31:19

标签: ios

我有一个问题,因为我在一个视图上有四个imageViews。我添加到每个tapGestureRecognizer(在故事板上我连接每个imageView与tapGestureRecognizer),我想知道女巫被录音。我尝试使用这种方法:

    - (IBAction)tapToFullSizeImage:(UITapGestureRecognizer *)sender {
        UIView *tmp = [sender view];
        NSLog(@"Tag %d \n", tmp.tag);
    }

但它不起作用。该函数显示我随机标记四个imageViews标签之一。哪里我搞错了?它完全有效吗?

有人可以检查您是否有同样的问题?或者这可能是一个错误。

更新1:

现在我明白了。所以你使用了4个gestureRecognizer,它可以工作。是否绝对有必要为每个图像视图使用单独的手势识别器?如果我在一个视图上有9或12个或更多图像怎么办?

我可能没有严格地描述这个案例并且明确我的意思。 我尝试了在界面构建器中连接一个tabGestureRecognizer控件的所有imageViews(四个)。 CTRL +将蓝色线从imageview拖动到手势控制器。 4到1.(图片)

//对不起我是这个网站的新手,我无法添加图片。

我用四个开关和一个功能来指导它们。 (图片)

//对不起,我无法添加图片

开关工作正常,但不是手势。谁知道为什么?我认为任何抓住触摸手势的人都会被清楚地分配给它的图片。但事实并非如此,这是问题,任何人都知道为什么这不起作用?

1 个答案:

答案 0 :(得分:0)

我刚才和你描述的一样:

  • 4 UIImageView,标签1,2,3,4
  • 4 UITapGestureRecognizer
  • 每个imageView都链接到一个gestureRecognizer

我的日志显示:

2014-04-18 21:47:27.721 CaseStudy[22400:60b] UIImage is tapped with tag: 1
2014-04-18 21:47:32.680 CaseStudy[22400:60b] UIImage is tapped with tag: 2
2014-04-18 21:47:33.716 CaseStudy[22400:60b] UIImage is tapped with tag: 3
2014-04-18 21:47:34.596 CaseStudy[22400:60b] UIImage is tapped with tag: 4

所以我猜你做错了什么。