我正在开发一个应用程序。我正在使用七十UIImageViews
。对于所有UIImageViews
,我使用单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。
答案 0 :(得分:0)
这样,触摸就会传递到容纳图像视图的容器下方。
嘿,我现在得到了你的问题。
为每个图像视图创建新的手势识别器。问题是你只创建了一个手势识别器的实例。
我希望你在那里得到了错误,并会适当地编辑你的代码。如果你遇到困难,请告诉我。
答案 1 :(得分:0)
您可以将一个UITapGestureRecognizer
分配给一个UIView
。一个想法是子类UIIimageView
并添加UITapgestureRecognizer
作为属性。并为for循环中的每个UIImageView
新UITapGestureRecognizer
分配/ init。
答案 2 :(得分:0)
当您将UITapGestureRecognizer添加到视图中时,您实际上是这样做的:
您正在设置UITapGestureRecognizer的属性,该属性包含链接到的视图: 意味着每个UITapGestureRecognizer只有一个与之关联的uiview。
这就是为什么你只能在你设置的最后一个中看到它。
执行您想要的操作,因此您需要为每个视图创建/分配/初始化UITapGestureRecognizer ...