I have a set of images that i would like to have fade in the background of my login screen. I cant find anything in swift that can do this. Is there a way that i would be able to?
Heres my current code:
override func viewDidLoad() {
super.viewDidLoad()
startAnimating()
// Do any additional setup after loading the view, typically from a nib.
}
func startAnimating(){
backgroundImage.animationImages = [
UIImage(named: "background1.jpg"),
UIImage(named: "background2.jpg")
]
backgroundImage.animationDuration = 3
backgroundImage.startAnimating()
}
The below code will help you to animate image with fadeOut effect 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);
})
}
}