Desarrollo Mobile
> Swift Avanzado
- Implementación de un
PanGesture
.
- Xcode 11
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 )
}