Vistas de navigation mediante el gesto de deslizamiento

¿Cómo puedo cambiar las vistas verticalmente usando gestos deslizantes?

Encontré mi respuesta Estoy publicando el código para su reference. Gracias 🙂

en viewDidLoad

  UISwipeGestureRecognizer *swipeGesture = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipedScreendown:)] autorelease]; swipeGesture.numberOfTouchesRequinetworking = 1; swipeGesture.direction = UISwipeGestureRecognizerDirectionDown; [m_pImageView addGestureRecognizer:swipeGesture]; 

Ahora

 - (void)swipedScreendown:(UISwipeGestureRecognizer*) swipeGesture { m_pViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; CATransition *transition = [CATransition animation]; transition.duration = 0.75; transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; transition.type = kCATransitionPush; transition.subtype = kCATransitionFromBottom; transition.delegate = self; [self.view.layer addAnimation:transition forKey:nil]; [self.view addSubview:PadViewController.view]; } 

Si necesita más aclaraciones, publique aquí.

Implementa esto (didload)

 //........towards right Gesture recogniser for swiping.....// UISwipeGestureRecognizer *rightRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)]; rightRecognizer.direction = UISwipeGestureRecognizerDirectionRight; [rightRecognizer setNumberOfTouchesRequinetworking:1]; [urView addGestureRecognizer:rightRecognizer]; [rightRecognizer release]; //........towards left Gesture recogniser for swiping.....// UISwipeGestureRecognizer *leftRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftSwipeHandle:)]; leftRecognizer.direction = UISwipeGestureRecognizerDirectionLeft; [leftRecognizer setNumberOfTouchesRequinetworking:1]; [urView addGestureRecognizer:leftRecognizer]; [leftRecognizer release]; 

Luego esto:

 - (void)rightSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer { //Do moving } - (void)leftSwipeHandle:(UISwipeGestureRecognizer*)gestureRecognizer { // do moving } 

¡Ciertamente! Simplemente configure su viewController como UIGestureRecognizerDelegate y declare UISwipeGestureRecognizer *swipeLeftRecognizer; (también retiene y sintetiza). Luego, en la implementación, configure los reconocedores con

  UIGestureRecognizer *recognizer; // RIGHT SWIPE recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)]; [self.view addGestureRecognizer:recognizer]; [recognizer release]; // LEFT SWIPE recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)]; self.swipeLeftRecognizer = (UISwipeGestureRecognizer *)recognizer; swipeLeftRecognizer.direction = UISwipeGestureRecognizerDirectionLeft; [self.view addGestureRecognizer:swipeLeftRecognizer]; self.swipeLeftRecognizer = (UISwipeGestureRecognizer *)recognizer; [recognizer release]; 

Luego activa las acciones que deseas con el método

 - (void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer { if (recognizer.direction == UISwipeGestureRecognizerDirectionLeft) { // load a different viewController } else { // load an even different viewController } } 

Lo que haces aquí es específico de tu aplicación. Puede cambiar la selección tabBar, saltar a través de un control de navigation, presentar una vista diferente de manera modal o simplemente hacer una diapositiva simple en la transición.

Agregando gestos en swift

 func addSwipes() { // Left Swipe let swipeLeft = UISwipeGestureRecognizer(target: self, action: "swipeLeft:") swipeLeft.direction = .Left self.view.addGestureRecognizer(swipeLeft) // Right Swipe let swipeRight = UISwipeGestureRecognizer(target: self, action: "swipeRight:") swipeRight.direction = .Right self.view.addGestureRecognizer(swipeRight) } func swipeLeft(gestureRecognizer: UISwipeGestureRecognizer) { } func swipeRight(gestureRecognizer: UISwipeGestureRecognizer) { } 

Para reference PengOne, aquí está el código al que hiciste reference en tu comentario anterior. Lo guardé en mi Mac porque pensé que podría ser útil un día …: D

 // Manual navigation push animation UIImage* image = [UIImage imageNamed:@"CurrentView"]; UIImageView* imageView = [[UIImageView alloc] initWithImage:image]; imageView.frame = self.view.bounds; [self.view addSubview:imageView]; [imageView release]; CATransition *transition = [CATransition animation]; transition.type = kCATransitionPush; transition.subtype = kCATransitionFromRight; [self.view.layer addAnimation:transition forKey:@"push-transition"];