touchesEnded与UIImageView数组

时间:2012-02-28 10:20:29

标签: objective-c ios uiimageview touchesbegan

我有一个带UIImageView的数组。让我们说目前阵列中有5个UIImageView。我怎么知道我正在触摸哪个UIImageView?

感谢。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
    UITouch *touch = [touches anyObject];

    if ([touch view] == ??)
    {

    }
}

3 个答案:

答案 0 :(得分:0)

最简单的解决方案之一是设置视图的tag属性。

@property(nonatomic) NSInteger tag

通过这种方式,您可以轻松找回触摸的那个:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
    UITouch *touch = [touches anyObject];
    if ([[touch view] tag] == 1)
    {
        // ...
    }

}

您可以在Interface Builder中或在代码中直接设置此属性。

答案 1 :(得分:0)

正如另一张海报所说,使用标签。虽然,他的代码有点乱。我从不以他的方式称呼房产。你应该宁愿做

[touch view].tag

通过这种方式,其他人可以更轻松地阅读您的代码。此外,您可以设置UIImageViews的标签,如下所示:

yourImageView.tag = 1

其中yourImageView是图像。

答案 2 :(得分:0)

为循环中的每个图像提供标记值

for(int i=0;i<5;i++)
{
view.tag=i
}