ios - Swift 中 UIImage 的淡入淡出动画

标签 ios swift xcode6

我有一组图像,我想在我的登录屏幕背景中淡入淡出。我无法快速找到任何可以做到这一点的东西。有什么办法可以吗?

这是我当前的代码:

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()

}

最佳答案

下面的代码将帮助您使用淡出效果为图像设置动画并更改背景。

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); 
                                                   })
    }
}

关于ios - Swift 中 UIImage 的淡入淡出动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25026621/

相关文章:

swift - Swift 中的多重继承

ios8 - 启动图像未显示在我的 iOS 应用程序中

ios - 只有以 @ 开头的代码完成/代码感知在 Xcode 6 中不起作用

iphone - UITextView 文字渗色效果

ios - 框架在其 Info.plist 中没有 CFBundleIdentifier

ios - Swift Array of Arrays 终止了 Xcode 索引,因此 type-ahead 不起作用

ios - Homekit Accessory Simulator 在 Xcode 6 beta 6 中去了哪里?

iphone - 在 iOS SDK 中,我如何帮助我的用户从我的应用程序发送与短信混合的彩信?

objective-c - UITableView 仅在调用键盘后填充

ios - 从iPad Magazine App入手,如何制作阅读器