我有一个带UIImageView的数组。让我们说目前阵列中有5个UIImageView。我怎么知道我正在触摸哪个UIImageView?
感谢。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
if ([touch view] == ??)
{
}
}
答案 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
}