如何确定哪个平移视图在哪个索引中

时间:2014-06-20 09:05:39

标签: ios iphone objective-c

我在屏幕上有一个带有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个...我无法弄清楚这一点。任何帮助将不胜感激!

这是图片:

iimage

1 个答案:

答案 0 :(得分:0)

您有两种选择:

  1. 设置UIImageView的属性,并在手势recongnizer事件处理程序中,获取附加的UIImageView并根据您设置的索引识别相关内容。

  2. 对UIPanGestureRecognizer进行子类化,添加一个名为index的新字段,并使用该字段捕获手势,然后从中捕获索引