swift - 依次排列 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)
}
解决方案
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()
}
}
推荐阅读
- c++ - 摆脱输入缓冲区
- java - 具有 jdbc 持久性的 Bean 管理的 EB3
- elasticsearch - 是否可以通过查询更新索引设置?
- c# - 收到“CS1503 参数 1:无法从 'Sytem.Threading.Tasks.Task 转换”的错误消息
' 到 'BookListRazor.Model.Book' - powershell - 有没有人设法通过 Azure Function App 中的 Powershell 提取所有 Azure Active Directory 用户的列表?
- excel - Excel VBA - 标题长度会导致运行时错误 1004?
- python - 允许对运行 node.js 脚本的 Flask 服务器的多个 GET 请求
- graphql - 在 Gatsby 中按不同值过滤
- c# - 在 C# 中每个循环多次将相同参数传递给方法的更简洁方法?
- encryption - 缺少用于解密文件的加密密钥。向您的团队询问您的主人......它在 ENV ['RAILS_MASTER_KEY'] 中。Platform.sh 部署中止,