UIButton Touch Forwarding не работает в iOS5 (только для iPad)

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

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [super touchesBegan:touches withEvent:event];
    [self.nextResponder touchesBegan:touches withEvent:event];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    [super touchesMoved:touches withEvent:event];
    [self.nextResponder touchesMoved:touches withEvent:event];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    [super touchesEnded:touches withEvent:event];
    [self.nextResponder touchesEnded:touches withEvent:event];
}

Когда я регистрирую методы касаний следующего респондента, я вижу, что перемещенные касания передаются только один раз, а завершенные касания вообще не передаются. Это очень неожиданное поведение, так как все касания пересылаются в iOS4. Любая помощь будет оценена.

1 ответ

Решение

В то время как комментаторы могли заставить этот код нормально работать в своих тестах, мне не удалось заставить его надежно работать в iOS5. Мое решение состояло в том, чтобы использовать делегирование, чтобы передать прикосновения заинтересованной стороне. Не элегантный или предпочтительный, но до сих пор работал нормально без каких-либо ошибок.

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