0

I have a View Controller with 3 subviews inside the self.view. I'm trying to slide between them and it's not working. Here is my code:

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

I really see that "Load 2" is being printed 3 times but when I try to slide it's not working.

Thank you

1 Answers1

0

Are you using a UIScrollView here? That could be the problem.

I think you can just use the standard UIScrollView delegate methods in this situation:

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

Otherwise these guys here, here and here had some trouble too, maybe the answers there could help you.

If you're not using a UIScrollView here? I should use one, why not? 3 Subviews and swiping to the next one sounds just like a nice UIScrollView example (use paging).

Good Luck!

Community
  • 1
  • 1
Tieme
  • 62,602
  • 20
  • 102
  • 156