我有一组图像,我希望在登录屏幕的背景中淡入淡出。我无法找到任何可以做到这一点的快捷方式。有没有办法让我能够?
继承我目前的代码:
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()
}
答案 0 :(得分:4)
以下代码将帮助您使用fadeOut效果为图像设置动画并更改背景。
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);
})
}
}