swift - 在初始屏幕的入职流程中旋转一圈后停止自动旋转
问题描述
在我的应用程序中,入职/启动屏幕流程中有 3 个屏幕,设置为每 5 秒自动旋转一次
private var pageChangeTimer: Timer?
let pageChangeInterval: TimeInterval = 5.0
var pageChangeTimer = Timer.scheduledTimer(
withTimeInterval: pageChangeInterval,
repeats: true) { [weak self] timer in
self?.rotateScreen()
}
如何在初始屏幕的入职流程中所有三个屏幕旋转一圈后停止自动旋转
解决方案
您可以使用计时器的invalidate()
实例方法来停止它
var counter = 0
pageChangeTimer = Timer.scheduledTimer( withTimeInterval: pageChangeInterval, repeats: true) { [weak self] timer in
self?.rotateScreen()
self.counter += 1
if self.counter == 3 {
timer.invalidate()
}
}
推荐阅读
- .net - EPPlus 计算方法在 Matlab 中不可见或无法访问
- elixir - 使用 NaiveDateTime 在 Elixir 中获取 3 天前
- python - Python 中的布尔输入
- powershell - 使用 IP 地址和凭据在远程计算机上调用命令
- javascript - 如何使用 html、javascript 和 css 为条形图中的每个条添加输入文本框
- google-app-engine - AppEngine Python flex env 的最新点子?
- spring - Springboot AutoConfiguratoin 在 Kafka Logback Appender 中不起作用
- python - 在 Python 中实现 WGET 和 GREP 的最佳方法
- ios - NSMutableArray 不是 XML 格式
- javascript - 使用 Javascript 对 html 表进行数字排序 - 10 以上不起作用