/ / UISwipeGestureRecognizer implementado con Swift - swift, eventos, uiswipegesturerecognizer, xcode6.3, ios8.3

Implementación de UISwipeGestureRecognizer con Swift - swift, events, uiswipegesturerecognizer, xcode6.3, ios8.3

Tengo una aplicación con pestañas con tres pestañas y quiero hacer la transición entre ellas con un Reconocedor de gestos de deslizamiento.

  1. Arrastré y solté un Reconocedor de gestos de deslizamiento desde la Biblioteca de objetos a la primera Vista y uno a la tercera Vista. Agregué dos en la segunda Vista para poder deslizar hacia la izquierda y hacia la derecha.
  2. Cambié el deslizamiento al inspector de atributos para que se deslice hacia la derecha o la izquierda según sea necesario
  3. Usando el editor asistente, utilicé Control + Arrastrar para crear Acciones en los archivos adecuados de ViewController.swift.

¿Qué más debo hacer para que funcione el deslizamiento? Todas las guías que encontré en línea están en Objective-C. ¿Alguien sabe cómo completar estos eventos en Swift?

Guión gráfico principal

Archivo FirstViewController.swift

Respuestas

0 para la respuesta № 1

Tienes que aplicar el controlador de vista personalizado.transiciones De lo contrario, la transición de la pestaña no será animada (de manera predeterminada, los interruptores de la pestaña son sin animación) ni interactiva (no puede controlar la velocidad con su gesto).

Un buen punto de partida es Colin Eberhardt "s. Biblioteca de transiciones VC. Está en Objective-C, pero puedes usarlo desde Swift.

Sólo una advertencia: Las transiciones del controlador de vista personalizada son una parte inmadura de iOS 7 u 8. Si se inicia otra transición de vista mientras todavía se está ejecutando una personalizada, la IU se bloqueará más o menos. Y sucede fácilmente: el usuario presiona otra pestaña antes de que finalicen las transiciones, su pestaña cambia de código y presiona un controlador de vista al mismo tiempo, el usuario logra presionar un botón durante la transición que abre otro controlador de vista, etc.


0 para la respuesta № 2

EDITAR: He añadido un proyecto de muestra a github y funciona completamente. Siéntase libre de copiarlo o wok en él.



No es necesario que los agregue en el tablero de la historia. Primero agregue este código a su inicializador (en la mayoría de los casos, viewDidLoad):

    var swipeGesture = UISwipeGestureRecognizer(target: self, action: "SwipeToNextViewController:")
swipeGesture.direction = UISwipeGestureRecognizerDirection.Left
view.addGestureRecognizer(swipeGesture)

var swipeGestureReverse = UISwipeGestureRecognizer(target: self, action: "SwipeToPreviousViewController:")
swipeGestureReverse.direction = UISwipeGestureRecognizerDirection.Right
view.addGestureRecognizer(swipeGestureReverse)

Ahora que tu viewController tiene el gesto,Se llamará a SwipeToNextViewController () si desliza a la izquierda, y se llamará a SwipeToPreviousViewController () cuando se desplace a la derecha. Escribe el código para las dos funciones asociadas con los gestos:

func SwipeToNextViewController(gestureRecognizer:UISwipeGestureRecognizer)
{
performSegueWithIdentifier("next", sender: self)
}

func SwipeToPreviousViewController(gestureRecognizer:UISwipeGestureRecognizer)
{
performSegueWithIdentifier("previous", sender: self)
}

Estas dos funciones se activarán cuando la vista se haya deslizado hacia la izquierda o hacia la derecha. Agregue su código en él (en este caso, realice Segmento) y podrá seguir a otro viewController.

Espero eso ayude :)