iPhone: как определить, какое касание закончилось? - PullRequest
0 голосов
/ 25 февраля 2011

В моем приложении я хочу определить, когда пользователь отрывает второй палец и держит только один палец на экране.

Проблема в том, что мои touchesEnded: withEvent: показывает [[event allTouches] count] равным 2.

Как определить, какое из прикосновений осталось на экране?

Спасибо.

1 Ответ

2 голосов
/ 25 февраля 2011

Когда сенсор сделан пользователем, запускается метод touchesBegan. Вы можете сохранить указатель на первое касание появилось. Он не будет изменен, пока не закончится касание.

EDIT:

- (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, которая обрабатывает события касания.

...