iOS - Animation effects - Image pop-in iOS - Animation effects - Image pop-in ios ios

iOS - Animation effects - Image pop-in


The effect you’re looking for is something like this:

// instantaneously make the image view small (scaled to 1% of its actual size)view.transform = CGAffineTransformMakeScale(0.01, 0.01);[UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{    // animate it to the identity transform (100% scale)    view.transform = CGAffineTransformIdentity;} completion:^(BOOL finished){    // if you want to do something once the animation finishes, put it here}];


if you want something like Facebook does on liking any post then use this

-(void)animateButton:(UIButton *)sender{UIButton * btn = (UIButton *)sender;[UIView animateWithDuration:0.3/1.5 animations:^{    btn.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.4, 1.4); // scales up the view of button } completion:^(BOOL finished) {    [UIView animateWithDuration:0.3/2 animations:^{        btn.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.7, 0.7);// scales down the view of button    } completion:^(BOOL finished) {        [UIView animateWithDuration:0.3/2 animations:^{            btn.transform = CGAffineTransformIdentity; // at the end sets the original identity of the button        }];    }];}];}

just call this method when you want to animate the view

if you have text and image on the button and you just want to animate the image of the button then just replace "btn" with "btn.imageView" , this will just produce animation on the image view property of the button.Hope it helpsAll the best.


You have to animate the frame of the view, to shrink it from zero to the final state.This can be done for example with UIView block animation.

So for example start with your view as an IBOutlet property self.myView with the final size and position, but set the hidden flag.Then when you want it to appear use the following:

// Save old frame as final stater and set it to zero size for the start of the animation// But keep the same center position, so it just grows and don't move around CGRect oldFrame = self.myView.frame;CGRect oldCenter = self.myView.center;self.myView.frame = CGRectZero;self.myView.center = oldCenter;self.myView.hidden = NO;NSTimeInterval duration = 0.3;[UIView animateWithDuration:duration delay:0.0 options:UIViewAnimationOptionAllowUserInteraction animations:^{                // New position and size after the animation should be the same as in Interface Builder                self.myView.frame = oldFrame    }                     completion:^(BOOL finished){                                                 // You can do some stuff here after the animation finished                     }];