我在屏幕上有一个带有3个uiimageviews的应用程序。每个人都有一个与之相连的uipangesture。我无法确定哪个平移视图到哪个框。 (见下图。)白框确定CGRectContainsPoint()是否包含平移视图。我的主要问题是从图像视图中的标签中获取文本。由于它们总是不同,我怎么能从1,2,3种类型的索引中知道哪个泛视图在哪个框中?
这是我的代码。
if (pan.state == UIGestureRecognizerStateEnded)
{
++_countSoFar; // _countSoFar is an iVar
if (CGRectContainsPoint(self.view1.frame, pan.view.center)) {
pan.view.tag = 1;
}
else if(CGRectContainsPoint(self.view2.frame, pan.view.center)) {
pan.view.tag = 2;
}
else pan.view.tag = 3;
NSLog(@"counts = %d", _countSoFar);
}
if (_countSoFar == carLevels)
{
NSString *s1 = [[self.view viewWithTag:pan.view.tag].subviews[0] text];
_countSoFar = 0; //reset count
}
我的代码的问题是我只能获得1个文本值,因为子视图每个视图只有1个...我无法弄清楚这一点。任何帮助将不胜感激!
这是图片:
答案 0 :(得分:0)
您有两种选择:
设置UIImageView的属性,并在手势recongnizer事件处理程序中,获取附加的UIImageView并根据您设置的索引识别相关内容。
对UIPanGestureRecognizer进行子类化,添加一个名为index的新字段,并使用该字段捕获手势,然后从中捕获索引