iPhone - Обнаружение касаний и их отмена?

Я обнаруживаю прикосновения к своему UIView. В некоторых ситуациях я хочу быть в состоянии отменить касания, чтобы не вызывать touchesEnded. Но не имеет значения, что touchEnded всегда будет вызываться?

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
   if (SOMETHING_SPECIAL)
   {
      [super touchesCancelled:touches withEvent:event];
   }
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
   //I don't want it to get here if touches were canceled how can i do this?
}

- В моих прикосновениях В завершение я могу определить, были ли отмены касаний или нет?

2 ответа

Решение

TouchesEnded всегда будет вызываться везде, где ваши прикосновения отменены или нет, поэтому я бы предложил вместо этого точно:

   if (SOMETHING_SPECIAL)
   {

   }

В вашем:

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

Чтобы получить событие touchesCancelled, реализуйте этот метод из UIResponder.

прикосновения отменены: withEvent:.

Другие вопросы по тегам