I have a UIButton that when pressed, will make a UIImageView scale slightly larger and then back to its normal size. It's working, but I'm running into a problem where the image eventually keeps getting slightly smaller the more you press the button.
How can I change the code so that the image doesn't get smaller as you press the button? Here's the code I have to scale the image slightly larger and then back to normal:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration: 0.2];
myImage.transform = CGAffineTransformScale(myImage.transform, 1.03, 1.03);
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration: 0.2];
myImage.transform = CGAffineTransformScale(myImage.transform, 0.97, 0.97);
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
Thanks for any help.
It's math. Scaling something by 1.03 * 0.97
results in scaling factor of 0.9991
and not 1.0
. Either use 1.0/1.03
as your second scaling factor or just set myImage.transform
to the identity transform (assuming you are not applying other transformations to that view).
Have you tried saving first transform?
And then instead of using CGAffineTransformScale
to shrink your UIImageView
you just use your saved transform?
CGAffineTransform firstTransform = myImage.transform;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration: 0.2];
myImage.transform = CGAffineTransformScale(myImage.transform, 1.03, 1.03);
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration: 0.2];
myImage.transform = firstTransform;
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With