UISwipeGestureRecognizer для подпредставлений (UIVIew) не работает

У меня есть View Controller с 3 subviews внутри self.view. Я пытаюсь скользить между ними, но ничего не получается. Вот мой код:

- (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];
        }
    }

Я действительно вижу, что «Load 2» печатается 3 раза, но когда я пытаюсь сдвинуть, это не работает.

Спасибо


person Raz Guille Rosman    schedule 28.09.2012    source источник


Ответы (1)


Вы здесь используете UIScrollView? Это могло быть проблемой.

Думаю, в этой ситуации можно просто использовать стандартные методы делегата UIScrollView:

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

В противном случае эти ребята здесь, здесь и здесь тоже возникли проблемы, может быть, ответы там могут вам помочь.

Если вы здесь не используете UIScrollView? Я должен использовать один, почему бы и нет? 3 Subviews и переход к следующему звучит так же, как хороший пример UIScrollView (используйте разбиение по страницам).

Удачи!

person Tieme    schedule 23.10.2012