0

self.view内に3つのサブビューを持つViewControllerがあります。それらの間をスライドしようとしていますが、機能していません。これが私のコードです:

- (void)viewDidLoad
{    
    UISwipeGestureRecognizer *swipeGestureRecognizerLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipe:)];
    swipeGestureRecognizerLeft.direction = UISwipeGestureRecognizerDirectionLeft;
    for (UIView *subview in self.view.subviews) 
    {       
        if([subview isKindOfClass:[UIView class]] && !([subview isKindOfClass:[UIImageView class]]))
        {  
             [subview addGestureRecognizer:swipeGestureRecognizerLeft];
             NSLog(@"Load 2");    
        }
    }
}

    -(void) didSwipe:(UISwipeGestureRecognizer *) swipeRecognizer {
        NSLog(@"Load swipe");

        if (swipeRecognizer.direction==UISwipeGestureRecognizerDirectionLeft) 
        {
            NSLog(@"swipe Left"); 
            [self SlideToLeft];
        }
    }

「Load2」が3回印刷されているのを実際に確認しましたが、スライドしようとすると機能しません。

ありがとうございました

4

1 に答える 1

0

ここで UIScrollView を使用していますか? それが問題かもしれません。

この状況では、標準の UIScrollView デリゲート メソッドを使用できると思います。

- (void) scrollViewDidScroll: (UIScrollView *) sender
{
    NSLog(@"Scrolled!");
}

そうでなければ、ここ、ここ、ここの人たち問題抱えいたので、そこの答えがあなたを助けるかもしれません.

ここで UIScrollView を使用していない場合は? 1 つを使用する必要がありますが、なぜですか? 3 つのサブビューと次のサブビューへのスワイプは、優れた UIScrollView の例のように聞こえます (ページングを使用)。

幸運を!

于 2012-10-23T15:23:39.813 に答える