Skip to content

Latest commit

 

History

History
53 lines (37 loc) · 1.46 KB

Readme.md

File metadata and controls

53 lines (37 loc) · 1.46 KB

Desarrollo Mobile > Swift Avanzado

Reto gesture animations

OBJETIVO

  • Implementación de un PanGesture.

REQUISITOS

  1. Xcode 11

DESARROLLO

Utilizar UIView Animations en conjunto con Gestures.

Al arrastrar una imagen, esta debe de aumentar de tamaño.

Al soltar la imagen, debe de regresar a su tamaño original.

Solucion

De igual forma que en los ejemplos y retos anteriores, en el UIImageView del Storyboard tenemos asociado un Gesture.

Este gesture esta conectado a una función que tiene como parámetro un serder del tipo del gesture.

Implementaremos en dicha función dos condiciones IF que detecten el inicio y fin del gesture.

Dentro del IF que detecta el INICIO del gesture ejecutamos la función de escalamiento y animación.

``` if recognizer.state == UIGestureRecognizer.State.began { scaleWithMove(scale: 1.5) } ```

Dentro del IF que detecta el FIN del gesture ejecutamos la función de escalamiento para regresar al tamaño original.

if recognizer.state == UIGestureRecognizer.State.ended {
      scaleWithMove(scale: 1.0)
    }

La función que se encarga de escalar y animar la imágen es:

private func scaleWithMove(scale: CGFloat) {
   UIView.animate(withDuration: 0.5, animations: { () -> Void in
     self.imageView?.transform = CGAffineTransform(scaleX: scale, y: scale)
   }, completion: nil )
 }