swift xcode - 定时器运行后禁止按下 UIbutton

标签 swift xcode timer

我有一个名为开始的按钮,用于启动 TIMER 计数,我想在 TIMER 计数时禁用再次按下它,否则它会使 TIMER 启动计数速度提高一倍。

@IBAction func start(_ sender: Any) {
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(CountUpVC.action), userInfo: nil, repeats: true)

提前致谢。

最佳答案

最好由计时器上的观察者完成:

var timer : Timer? {
    didSet {
        start.isEnabled = !(timer?.isValid ?? false)
    }
}

当你使它无效时,你应该将它设置为nil以触发didSet并再次启用按钮:

timer?.invalidate()
timer = nil

关于swift xcode - 定时器运行后禁止按下 UIbutton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43827429/

相关文章:

java - 不断取消并重新创建 Timer,Java 中的 TimerTask

java - 如何制作一个等待一秒钟然后继续执行程序的计时器?

ios - Xcode 6 Storyboard Unwind Segue with Swift 不连接退出

objective-c - 在某些情况下禁用自动桥接

c++ - 使用 iPad 上的所有可用内存

iphone - 将 ShareKit 添加到项目的困难

android - 每 10 分钟在后台执行一次数据库操作

ios - 添加 UIBarButtonItem 作为 UITabBarController 的子项

ios - 自定义单元格未显示在 TableView -Xcode 中

objective-c - 在 xcode 中设置导航栏的标题