我有以下代码:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)recognizer shouldReceiveTouch:(UITouch *)touch {
NSLog(@"%@", NSStringFromCGPoint([recognizer locationInView:self.view]));
...
但是,每次点击时,我都会得到 {0, -64}
。无论我点击哪里。我做错了什么?
最佳答案
我认为这是预期的行为,因为“在手势识别器上调用 touchesBegan:withEvent: 之前调用此方法以进行新触摸”。所以,我认为这意味着识别器还不知道它的位置。要获取位置,请改用提供的触摸参数:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)recognizer shouldReceiveTouch:(UITouch *)touch {
NSLog(@"%@", NSStringFromCGPoint([touch locationInView:self.view]));
...
关于ios - 为什么在 shouldReceiveTouch 中我的手势识别器总是报告在同一位置被点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17935825/