我需要移动触摸的imageView标签。我有10个图像视图和标签从1到10.我需要在手指移动图像时获取imageView标签。
我能够通过
来实现这个目标-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint location = [[touches anyObject] locationInView:self.view] ;
CGRect fingerRect = CGRectMake(location.x, location.y, 1, 1);
for(UIImageView *view in self.view.subviews)
{
CGRect subviewFrame = view.frame;
if(CGRectIntersectsRect(fingerRect, subviewFrame))
{
//we found the finally touched view
}
}
}
但我不想使用for
循环。是否还有其他替代方案可以获得在我移动下方的imageView?非常感谢任何帮助。
感谢。
答案 0 :(得分:1)
使用此:
UIView* touchedView = [self.view hitTest:location withEvent:nil];
使用此位置,您将获得一个touchView,在您的情况下是UIImageView。