0

UItextViewなどのUIObjectからすべてのUIGestureRecognisersを完全に削除する方法はありますか?私はこれを試しましたが、機能しません:

[photoView removeGestureRecognizer:[photoView.gestureRecognizers objectAtIndex:0]];

注:将来、他のジェスチャ認識機能を割り当てたいので、これらを無効にしたくありません。

4

2 に答える 2

2

単にではなく、すべてを削除したい場合:

[photoView removeGestureRecognizer:[photoView.gestureRecognizers objectAtIndex:0]];

あなたは出来る:

while ([photoView.gestureRecognizers count] > 0)
    [photoView removeGestureRecognizer:[photoView.gestureRecognizers objectAtIndex:0]];

ちなみに、一部の標準テキストコントロールでは、編集モードを開始および終了するときにジェスチャレコグナイザーが再作成されるため、それに応じてこのプロセスを繰り返す必要がある場合があることに注意してください。

于 2013-01-23T17:38:03.987 に答える
0

以下のコードを使用して、ジェスチャレコグナイザーを停止します。

 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
    {

    // return NO when you want to stop.

if ( [gestureRecognizer isMemberOfClass:[UITapGestureRecognizer class]] ) {
        // Return NO for views that don't support Taps
    } else if ( [gestureRecognizer isMemberOfClass:[UISwipeGestureRecognizer class]] ) {
        // Return NO for views that don't support Swipes
    }

    return YES;

}
于 2013-01-23T17:17:11.330 に答える