2012-03-16 11 views
0

私はカスタムUIButtonを実装しました.Gesture Recognizersを使用せずにLongPressイベントを処理するために、touchesBegan:,touchesEnded:をクラスに使用する必要がありました。問題は、通常のボタンイベントが機能していないことです。私はこれを引き起こしているのだろうと私はそれを避けることができますか?TouchesBeganはtouchUpInsideのアクションをオーバーライドします

タッチベースのイベントは機能していますが、私が前に行ったtouchUpInside:の操作は機能しなくなりました。

おかげ

答えて

1

は、このジェスチャー認識を使用し、longpressためtouchesBegan:を使用しないでください!

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