Swift 将3个图像依次排列以显示在图像视图上
下面func中的我的swift代码在图像视图中显示2个图像。我下面的代码现在成功地做到了这一点,但它只能显示2个图像。我想把a、b、cd各显示一秒钟,然后在一个无休止的循环中重复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
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()
}
}