iPhone:我如何检测哪个触摸已经结束?

时间:2011-02-25 20:37:05

标签: iphone xcode touch touches

在我的应用程序中,我想检测用户何时抬起他的第二根手指并且只在屏幕上按住一根手指。

问题是我的touchesEnded:withEvent:显示[[event allTouches] count]为2。

如何检测屏幕上还有哪一个触摸?

感谢。

1 个答案:

答案 0 :(得分:2)

当用户触摸触发方法触发时触摸。你可以保持指向第一次触摸的指针出现。在触摸结束之前不会改变。

修改

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    if ([touches count] == 1)
    {
        if (!myTouch) myTouch = [touches anyObject]; //I assume myTouch is set to nil in touchesEnded
    }
    else
    {
        //perform your logic for this case
    }
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    if ( myTouch && [touches containsObject: myTouch]
    {
        //perform your logic
        myTouch = nil;
    }
}

我假设您的班级中有一个变量UITouch *myTouch来处理触摸事件。