Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Animate a view zoom-bouncing in?

Is there a way to animate a view so that it zooms up and kinda goes a bit too far and rubberbands back to the final size? I'm unsure how to do this sort of animation.

like image 672
Andrew Avatar asked May 26 '11 01:05

Andrew


1 Answers

write this code when you want to trigger this animation

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;                                     }];     }]; }]; 

SWIFT 5.0

    selectView.transform =         CGAffineTransform.identity.scaledBy(x: 0.001, y: 0.001)      view.addSubview(selectView)      UIView.animate(withDuration: 0.3 / 1.5, animations: {         selectView.transform =             CGAffineTransform.identity.scaledBy(x: 1.1, y: 1.1)     }) { finished in         UIView.animate(withDuration: 0.3 / 2, animations: {             selectView.transform = .identity.scaledBy(x: 0.9, y: 0.9)         }) { finished in             UIView.animate(withDuration: 0.3 / 2, animations: {                 selectView.transform = CGAffineTransform.identity             })         }     } 

This is updated code (from fabio.cionini) as it is accepted answer so updating to latest.

like image 105
Amit Singh Avatar answered Sep 30 '22 18:09

Amit Singh