3

の種類をキャッチしたいと思いUIGestureRecognizerます。この方法でそれを行うことはできますか?

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
    NSLog(@"Gesture should begin");
    if ([gestureRecognizer isMemberOfClass:[UIRotationGestureRecognizer class]])
        NSLog(@"rotate");
    if ([gestureRecognizer isMemberOfClass:[UIPinchGestureRecognizer class]])
        NSLog(@"pinch");
    if ([gestureRecognizer isMemberOfClass:[UITapGestureRecognizer class]])
        NSLog(@"tap");
    if ([gestureRecognizer isMemberOfClass:[UIPanGestureRecognizer class]])
        NSLog(@"pan");
    if ([gestureRecognizer isMemberOfClass:[UILongPressGestureRecognizer class]])
        NSLog(@"long");
    if ([gestureRecognizer isMemberOfClass:[UISwipeGestureRecognizer class]])
        NSLog(@"swipe");
    return NO;
}

テーブルビューセルでロングタッチジェスチャがあります。セルを押すと、ログが表示されます。

-[FileObjectView gestureRecognizerShouldBegin:] [Line 45] Gesture should begin
-[FileObjectView gestureRecognizerShouldBegin:] [Line 55] long

そして、私はそれがこのように機能することを望んでいます。

しかし、テーブルビューをスクロールしているときに、ログを受け取ることがあります。

-[FileObjectView gestureRecognizerShouldBegin:] [Line 45] Gesture should begin

ある種のジェスチャーを知らないと思います。

誰かが状況を説明できますか?

4

1 に答える 1

1

この方法でクラス名を確認することにしました。

NSLog(@"%@",gestureRecognizer.class);

クラス名は次のとおりです。UIScrollViewPanGestureRecognizer

私はこの問題をさまざまなiOSバージョンで何度もチェックしました。

これはiOS6でのみ発生します。もう1つiOS6のバグがありますか?!

于 2012-10-24T10:18:16.253 に答える