首页 > 解决方案 > 依次排列 3 张图像以显示在图像视图上

问题描述

我在下面的函数中的 swift 代码在图像视图风扇中显示 2 个图像。我下面的代码现在成功地做到了,但它只能显示 2 个图像。我想显示 a、b、cd 各一秒钟,然后无限循环地重复。

let image1 = UIImage(named: "a.png")
let image2 = UIImage(named: "b.png")
let image3 = UIImage(named: "cd.png")
  var fan = UIImageView()




@objc func alterImage() {
    fan.image = fan.image == image2 ? image1 : image2
    perform(#selector(alterImage), with: self, afterDelay: 1)
}

标签: swiftloopsselectorfunc

解决方案


UIImageView有一个属性被称为animationImages完全出于这个目的,一个用来控制它的持续时间animationduration,一个animationRepeatCount用来控制它的重复。您只需将其设置为零即可无限循环。一旦你设置了这些属性,你只需要调用UIImageView's 方法startAnimating()


import UIKit
class ViewController: UIViewController {
    @IBOutlet weak var imageView: UIImageView!
    override func viewDidLoad() {
        super.viewDidLoad()
        let image1 = UIImage(named: "a")!
        let image2 = UIImage(named: "b")!
        let image3 = UIImage(named: "c")!
        imageView.animationImages = [image1, image2, image3]
        imageView.animationDuration = 1
        imageView.animationRepeatCount = 0
        imageView.startAnimating()
    }
}

推荐阅读