Show and Fade UIImageView after 2 Seconds Show and Fade UIImageView after 2 Seconds xcode xcode

Show and Fade UIImageView after 2 Seconds


Use UIView dedicated methods for that.

So imagine you already have your UIImageView ready, already created and added to the main view, but simply hidden. Your method simply need to make it visible, and start an animation 2 seconds later to fade it out, by animating its "alpha" property from 1.0 to 0.0 (during a 0.5s animation):

-(IBAction)popupImage{    imageView.hidden = NO;    imageView.alpha = 1.0f;    // Then fades it away after 2 seconds (the cross-fade animation will take 0.5s)    [UIView animateWithDuration:0.5 delay:2.0 options:0 animations:^{         // Animate the alpha value of your imageView from 1.0 to 0.0 here         imageView.alpha = 0.0f;     } completion:^(BOOL finished) {         // Once the animation is completed and the alpha has gone to 0.0, hide the view for good         imageView.hidden = YES;     }];}

Simple as that!


Swift 2

self.overlay.hidden = falseUIView.animateWithDuration(2, delay: 5, options: UIViewAnimationOptions.TransitionFlipFromTop, animations: {    self.overlay.alpha = 0}, completion: { finished in    self.overlay.hidden = true})

Swift 3, 4, 5

self.overlay.isHidden = falseUIView.animate(withDuration: 2, delay: 5, options: UIView.AnimationOptions.transitionFlipFromTop, animations: {    self.overlay.alpha = 0}, completion: { finished in    self.overlay.isHidden = true})

Where overlay is the outlet for my image.


Swift 3 version of @AliSoftware's answer

imageView.isHidden = falseimageView.alpha = 1.0UIView.animate(withDuration: 0.5, delay: 2.0, options: [], animations: {            self.imageView.alpha = 0.0        }) { (finished: Bool) in            self.imageView.isHidden = true        }