ios uiimageview cgaffinetransform cgaffinetransformscale

ios - uitextview swift 4



Animación Crecer/Disminuir Tamaño imageView iOS (2)

Puede animar el aumento y la disminución del tamaño de la vista de la imagen usando el siguiente código

[UIView animateWithDuration:2.0 animations:^{ self.imageView.transform = CGAffineTransformMakeScale(0.5, 0.5); } completion:^(BOOL finished){ [UIView animateWithDuration:2.0 animations:^{ self.imageView.transform = CGAffineTransformMakeScale(1, 1); }]; }];

Esto hará que la vista de la imagen disminuya de tamaño inicialmente y, cuando finalice la animación, volverá a su tamaño original con una animación.

Estoy tratando de animar un botón personalizado usando CGAffineTransformMakeScale de la siguiente manera:

if (stateButton == 0) { //The button is gonna appear self.selected = YES; self.imageView.transform = CGAffineTransformMakeScale(0.01, 0.01); [UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{ // animate it to the identity transform (100% scale) self.imageView.transform = CGAffineTransformIdentity; } completion:nil]; } else if (stateButton ==1) { //The button is gonna disappear self.imageView.transform = CGAffineTransformMakeScale(1, 1); [UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{ // decrease button self.imageView.transform = CGAffineTransformMakeScale(.01, .01); } completion:^(BOOL finished){ self.selected = NO; }]; }

El botón crece perfectamente al tamaño original, sin embargo, no conozco el motivo, pero cuando hago clic en el botón para disminuirlo, disminuye de un tamaño 100% más grande que el tamaño original al original, en lugar de comenzar La disminución en el tamaño original y lograr una escala de 0.01 como he indicado en el código.

¡¡Por favor ayuda!!


Versión SWIFT 3

UIView.animate(withDuration: 2.0, animations: {() -> Void in self.imageView?.transform = CGAffineTransform(scaleX: 0.5, y: 0.5) }, completion: {(_ finished: Bool) -> Void in UIView.animate(withDuration: 2.0, animations: {() -> Void in self.imageView?.transform = CGAffineTransform(scaleX: 1, y: 1) }) })