我正在开发一个应用程序。其中我使用的是70号UIImageViews。对于所有的UIImageViews,我使用单一的UITapgestureRecognizer。但它只对上一个UIImageView起作用。
那么,请告诉我如何对所有的UIImageViews.My代码使用单一的UITapGgestureRecognizer
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。
发布于 2012-07-05 17:39:08
这样,触摸就会传递到下面保存图像视图的容器中。
嘿,我找到你的问题了。
为每个图像视图创建新的手势识别器。问题是您只创建了一个手势识别器的单个实例。
我希望你在那里得到了错误,并将适当地编辑你的代码。如果你卡住了就告诉我。
发布于 2012-07-05 17:41:16
您可以将一个UITapGestureRecognizer分配给一个UIView。一种想法是创建UIIimageView的子类,并添加一个UITapgestureRecognizer作为属性。并在for循环中为每个UIImageView分配一个新的UITapGestureRecognizer。
发布于 2012-07-05 18:04:48
当您将UITapGestureRecognizer添加到实际的视图中时,您正在执行以下操作:
您正在设置包含链接到的视图的UITapGestureRecognizer的属性:这意味着每个UITapGestureRecognizer只有一个与其关联的uiview。
这就是为什么你只能在你设置的最后一个中看到它。
为了做你想做的事情,你需要为每个视图创建/分配/初始化一个UITapGestureRecognizer ...
https://stackoverflow.com/questions/11341597
复制相似问题