我在UIView的子视图中遇到手势识别问题。我的子视图是一个可以通过UIPanGestureRecognizer拖动的视图 - 我知道该部分有效。但我遇到了一个问题首先触及该视图。接触到了我的UIView - 而不是我希望他们去的子视图。我尝试使用以下代码强制将触摸重定向到目标视图:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"rT");
[self.valueLabel touchesBegan:touches withEvent:event];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"mT");
[self.valueLabel touchesMoved:touches withEvent:event];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"eT");
[self.valueLabel touchesEnded:touches withEvent:event];
}
...但是我的控制台变得疯狂 - 无限循环
...
2013-02-08 17:07:33.683 Totalizer[3810:907] rT
2013-02-08 17:07:33.684 Totalizer[3810:907] rT
2013-02-08 17:07:33.685 Totalizer[3810:907] rT
2013-02-08 17:07:33.686 Totalizer[3810:907] rT
2013-02-08 17:07:33.686 Totalizer[3810:907] rT
2013-02-08 17:07:33.687 Totalizer[3810:907] rT
2013-02-08 17:07:33.688 Totalizer[3810:907] rT
2013-02-08 17:07:33.689 Totalizer[3810:907] rT
2013-02-08 17:07:33.690 Totalizer[3810:907] rT
2013-02-08 17:07:33.691 Totalizer[3810:907] rT
2013-02-08 17:07:33.692 Totalizer[3810:907] rT
2013-02-08 17:07:33.692 Totalizer[3810:907] rT
2013-02-08 17:07:33.693 Totalizer[3810:907] rT
2013-02-08 17:07:33.694 Totalizer[3810:907] rT
2013-02-08 17:07:33.695 Totalizer[3810:907] rT
2013-02-08 17:07:33.696 Totalizer[3810:907] rT
2013-02-08 17:07:33.697 Totalizer[3810:907] rT
2013-02-08 17:07:33.698 Totalizer[3810:907] rT
2013-02-08 17:07:33.700 Totalizer[3810:907] rT
2013-02-08 17:07:33.701 Totalizer[3810:907] rT
2013-02-08 17:07:33.702 Totalizer[3810:907] rT
2013-02-08 17:07:33.703 Totalizer[3810:907] rT
2013-02-08 17:07:33.704 Totalizer[3810:907] rT
2013-02-08 17:07:33.705 Totalizer[3810:907] rT
2013-02-08 17:07:33.706 Totalizer[3810:907] rT
2013-02-08 17:07:33.707 Totalizer[3810:907] rT
2013-02-08 17:07:33.708 Totalizer[3810:907] rT
2013-02-08 17:07:33.709 Totalizer[3810:907] rT
2013-02-08 17:07:33.710 Totalizer[3810:907] rT
2013-02-08 17:07:33.711 Totalizer[3810:907] rT
2013-02-08 17:07:33.713 Totalizer[3810:907] rT
...
我似乎无法弄清楚这一点。
任何事情都有帮助(理性......)
Erway Software
答案 0 :(得分:1)
您发布的代码进入循环,因为
valueLabel
未对touchesBegan:
,touchesMoved:
和touchesEnded:
做出回应......
这会将涓流回复到您的代码。
这是一个无意的递归循环。
绝对放弃这种方法。你试过valueLabel.userInteractionEnabled = YES
吗?
答案 1 :(得分:1)
您的触摸正被转发给self.label的超级视图,这是自我。这导致无限递归。