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)
})
})