2012-03-16 4 views
0

Я реализовал пользовательский UIButton и для того, чтобы я мог обрабатывать события LongPress (без использования распознавателей жестов), мне пришлось использовать touchesBegan:, touchesEnded: в моем классе. Проблема в том, что теперь обычные события кнопок не работают. Мне интересно, что вызывает это и как я мог избежать этого?TouchesBegan overriding touchUpInside действия

События на основе касания работают, но предыдущие действия, которые я имел для touchUpInside:, больше не функционируют.

Благодаря

ответ

1

не используют touchesBegan: для longpress, используют этот жест распознаватель!

UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc]  initWithTarget:self action:@selector(longTap:)]; 
[view addGestureRecognizer:longPressGesture]; 
[longPressGesture release]; 

-(void) longTap:(UILongPressGestureRecognizer *)gestureRecognizer{ 
    NSLog(@"gestureRecognizer= %@",gestureRecognizer); 
    if ([gestureRecognizer state] == UIGestureRecognizerStateBegan) { 
     NSLog(@"longTap began"); 
    } 
} 
+0

Я хочу этого избежать. Ограничители жестов ограничивают мою целевую аудиторию iOS. Я хочу отойти от него. – MrShoot

+1

Что вы имеете в виду? распознаватель жестов уже существует с iOS3.2! Никто больше не использует 2.0. Почти все в мире, по крайней мере, на iOS 4.0! –

+0

Некоторые требования, которыми я не могу пройти мимо: P – MrShoot

Смежные вопросы