首页 > 解决方案 > 在初始屏幕的入职流程中旋转一圈后停止自动旋转

问题描述

在我的应用程序中,入职/启动屏幕流程中有 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()
    }

如何在初始屏幕的入职流程中所有三个屏幕旋转一圈后停止自动旋转

标签: swift

解决方案


您可以使用计时器的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()
 }
}

推荐阅读