1

我正在开发一个应用程序。我在其中使用了 70 UIImageViews。对于所有UIImageViews我使用 single UITapgestureRecognizer。但只有它为最后工作UIImageView

所以请告诉我如何将单曲UITapGgestureRecognizer用于所有这些。我的UIImageViews代码看起来像

radiotap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(radiochanged:)];
radiotap.delegate=self;

a=[[UIImageView alloc]initWithFrame:CGRectMake(10, male.frame.origin.y, ima.size.width, ima.size.height)];
[a setImage:ima];
a.tag=0;
a.userInteractionEnabled=YES;
[a addGestureRecognizer:radiotap];
[scroll addSubview:a];


 b=[[UIImageView alloc]initWithFrame:CGRectMake(10, female.frame.origin.y, ima.size.width, ima.size.height)];
[a setImage:ima];
b.tag=1;
b.userInteractionEnabled=YES;
[b addGestureRecognizer:radiotap];
[scroll addSubview:b];

像这样我添加了 70 个 UIImageViews。

4

3 回答 3

0
  1. 将点击手势识别器添加到图像视图的容器中
  2. 禁用所有图像视图的用户交互

这样,触摸就会传递到保存图像视图的容器下方。

嘿,我现在有你的问题。

为每个图像视图创建新的手势识别器。问题是您只创建了一个手势识别器实例。

我希望你有错误,并会适当地编辑你的代码。如果您遇到困难,请告诉我。

于 2012-07-05T09:39:07.857 回答
0

您可以一对一UITapGestureRecognizer分配UIView。一个想法是子类化UIIimageView并添加 aUITapgestureRecognizer作为属性。并为 for 循环中的每UIImageView一个新的分配/初始化。UITapGestureRecognizer

于 2012-07-05T09:41:15.900 回答
0

当您将 UITapGestureRecognizer 添加到现实中的视图时,您正在这样做:

您正在设置 UITapGestureRecognizer 的属性,其中包含链接到的视图:这意味着每个 UITapGestureRecognizer 只有一个与之关联的 uiview。

这就是为什么你只能在你设置的最后一个中看到它。

做你想做的事,所以你需要为每个视图创建/分配/初始化一个 UITapGestureRecognizer ...

于 2012-07-05T10:04:47.840 回答