The code below will help you animate a fadeOut image and change the background.
import UIKit class ViewController: UIViewController { var imgView:UIImageView? //class variable to display you bg image override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. imgView = UIImageView(frame: self.view.frame) //imgView to display background self.view.insertSubview(imgView, atIndex: 0) //imgview add above the background of main view animateImage(1) /*call animageImage with parameter number as image number as i user image name as avatar1.png, avatar2.png, avatar3.png and avatar4.png*/ } func animateImage(no:Int) { var imgNumber:Int = no let t:NSTimeInterval = 1; let t1:NSTimeInterval = 0; var name:String = "avatar\(imgNumber).png" imgView!.alpha = 0.4 imgView!.image = UIImage(named:name); //code to animate bg with delay 2 and after completion it recursively calling animateImage method UIView.animateWithDuration(2.0, delay: 0, options:UIViewAnimationOptions.CurveEaseOut, animations: {() in self.imgView!.alpha = 1.0; }, completion: {(Bool) in imgNumber++; if imgNumber>4 //only for 4 image { imgNumber = 1 } self.animateImage(imgNumber); }) } }
source share