Cómo agregar efecto de rebote a UIView animateWithDuration

Estoy tratando de agregar un efecto de rebote a la animation a continuación. Aquí está mi código:

[UIView animateWithDuration:1.0 delay:.0 usingSpringWithDamping:0.5 initialSpringVelocity:2.0 options:UIViewAnimationOptionCurveEaseOut animations:^{ // Coming from a value of CGAffineTransformMakeScale(0.001, 1.0) self.myView.transform = CGAffineTransformMakeScale(1.0, 1.0); }completion:nil ]; 

No funciona correctamente. Se vuelve más ancho al final de la animation y luego vuelve a la normalidad. Quiero que el ancho rebote a un valor menor que 1.0, no más de 1.0.

ust para reutilizar código futuro y mantener el código limpio

 popUp.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.001, 0.001); [self.view addSubview:popUp]; [UIView animateWithDuration:0.3/1.5 animations:^{ popUp.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.1, 1.1); } completion:^(BOOL finished) { [UIView animateWithDuration:0.3/2 animations:^{ popUp.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.9, 0.9); } completion:^(BOOL finished) { [UIView animateWithDuration:0.3/2 animations:^{ popUp.transform = CGAffineTransformIdentity; }]; }]; }]; 

En esta publicación se proporciona una explicación detallada de la animation de rebote de UIView, tanto por UIDynamicAnimator como por la animation de spring

¿Cómo crear una animation de rebote UIView?