我有一个图像,我想设置以响应几个不同的手势响应者。例如,如果图片的一部分被触摸,我希望调用一个选择器,另一个选择器用于图片的不同部分。单个视图的多个手势响应器
我看着UIGestureRecognizer
和UITapGestureRecognizer
类,但我找不到一种方法来指定要与它们关联的图像区域。这是所有可能的iOS?如果是的话,我应该考虑使用哪些类?
我有一个图像,我想设置以响应几个不同的手势响应者。例如,如果图片的一部分被触摸,我希望调用一个选择器,另一个选择器用于图片的不同部分。单个视图的多个手势响应器
我看着UIGestureRecognizer
和UITapGestureRecognizer
类,但我找不到一种方法来指定要与它们关联的图像区域。这是所有可能的iOS?如果是的话,我应该考虑使用哪些类?
最简单的办法是奠定在图像无形的意见,并把手势识别他们。
如果这不可行,你必须看看手势识别的自来水处理程序locationInView并找出你想要根据用户敲击在哪里做什么。
使用locationInView:
属性来确定您的自来水发生的位置,然后有条件地调用的方法。你可以通过设置一些对应你的命中区域的CGRect
来做到这一点。然后使用CGRectContainsPoint()
函数确定水龙头是否落在其中一个命中区域。
水龙头手势识别动作可能是这个样子:
- (void)tapGestureRecognized:(UIGestureRecognizer *)recognizer
{
// Specify some CGRects that will be hit areas
CGRect firstHitArea = CGRectMake(10.0f, 10.0f, 44.0f, 44.0f);
CGRect secondHitArea = CGRectMake(64.0f, 10.0f, 44.0f, 44.0f)
// Get the location of the touch in the view's coordinate space
CGPoint touchLocation = [recognizer locationInView:recognizer.view];
if (CGRectContainsPoint(firstHitArea, touchLocation))
{
[self firstMethod];
}
else if (CGRectContainsPoint(secondHitArea, touchLocation))
{
[self secondMethod];
}
}
为我工作,谢谢! – 2012-01-05 18:36:29