0

我还没有 Apple 开发者许可证,所以我无法通过测试来找出答案。

当你用一根手指触摸屏幕时,我知道发送到 touchesBegan 的 NSSet 只有一个 UITouch 对象。当两个触摸同时发生时,集合中有两个 UITouch-es。

当你的一根手指向下,并且你也触摸了其他地方时,我假设 touchesBegan 会再次触发,但它会在 NSSet 中同时拥有两个 UITouch 对象吗?还是只是开始的那个?

我认为无论答案是什么,touchesMoved 和 touchesEnded 都是如此,但如果不是,你能告诉我这些吗?

谢谢,彼得

4

1 回答 1

0

我试过了:

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    NSLog(@"number of touches : %d", touches.count);
    for (UITouch *touch in touches) {
        CGPoint loc = [touch locationInView:self.view];
        NSLog(@"location %f, %f", loc.x, loc.y);
    }
}

事实证明是的,当进行另一次触摸尝试时按住一次触摸时,touchesBegan 将再次触发,在这种情况下,第二次触发报告“触摸次数:1”和第二次触摸的位置。我不确定 touchesMoved 和 touchesEnd 是否同样如此,但我认为是这样。

于 2013-12-19T05:31:55.283 回答