4

我有以下代码:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)recognizer shouldReceiveTouch:(UITouch *)touch {
    NSLog(@"%@", NSStringFromCGPoint([recognizer locationInView:self.view]));
    ...

但是,每次我点击时,我都会得到{0, -64}. 无论我在哪里点击。我究竟做错了什么?

4

1 回答 1

8

我认为这是预期的行为,因为“在 touchesBegan:withEvent: 之前调用此方法:在手势识别器上调用新触摸”。所以,我认为这意味着识别器还不知道它的位置。要获取位置,请改用提供的 touch 参数:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)recognizer shouldReceiveTouch:(UITouch *)touch {
    NSLog(@"%@", NSStringFromCGPoint([touch locationInView:self.view]));
    ...
于 2013-07-29T23:54:00.343 回答