Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 将3个图像依次排列以显示在图像视图上_Swift_Loops_Selector_Func - Fatal编程技术网

Swift 将3个图像依次排列以显示在图像视图上

Swift 将3个图像依次排列以显示在图像视图上,swift,loops,selector,func,Swift,Loops,Selector,Func,下面func中的我的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 alterIm

下面func中的我的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)
}
试试这个

@objc func alterImage() {
    fan.image = fan.image == image1 ? image2 : fan.image == image2 ? image3 : image1
    perform(#selector(alterImage), with: self, afterDelay: 1)
}
有一个名为por的属性用于此目的,一个用于控制其持续时间,另一个用于控制其重复。您只需要将其设置为零,以实现无止境的循环。设置完这些属性后,只需调用
UIImageView
的方法


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