0

我需要获取触摸位置,并且我创建了一个获取它的方法。但是当我在 ScrollView 中触摸时,该方法不返回位置,只返回 scrollView。

这是代码:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [[event allTouches] anyObject];
    CGPoint pos = [touch locationInView:nil];
    NSLog(@"Position of touch: %.0f, %.0f", pos.x, pos.y);
}

有人知道怎么做吗?谢谢!

4

1 回答 1

0
CGPoint pos = [touch locationInView:nil];

您正在检索相对于窗口原点的触摸坐标。根据文档

看法

您希望触摸位于其坐标系中的视图对象。处理触摸的自定义视图可以指定 self 以在其自己的坐标系中获取触摸位置。通过nil以获取窗口坐标中的触摸位置。

要在滚动视图中获取坐标,您需要传递self

CGPoint pos = [touch locationInView:self];
于 2012-06-15T17:58:58.650 回答