iOS:多点触控如何影响touchesBegan,Moved和Ended?

时间:2013-07-06 23:32:31

标签: ios event-handling multi-touch

我还没有Apple Developer License,所以我无法通过测试来查找。

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

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

我认为无论答案是什么,它都适用于touchesMoved和touchesEnded,但如果没有,你能告诉我这些吗?

谢谢, 彼得

1 个答案:

答案 0 :(得分: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);
    }
}

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