如何在Swift中创建用户定义的倒数计时器?

时间:2015-08-20 08:28:33

标签: swift timer countdown

如何在Swift中创建用户定义的倒数计时器?

我的应用中有2页。在第一页上,我要求用户在UITextField中写入一个小时值(例如:3),然后使用segue.identifier,我将此信息传递给第二页,我想从3小时开始倒计时为02:59: 59格式并在UILabel中打印。感谢

1 个答案:

答案 0 :(得分:2)

我为你制作了一个带有NSTimer倒计时示例的游乐场。

import UIKit

class MyClass {

  var timerCounter:NSTimeInterval!

  func stringFromTimeInterval(interval: NSTimeInterval) -> String {
    let interval = Int(interval)
    let seconds = interval % 60
    let minutes = (interval / 60) % 60
    let hours = (interval / 3600)
    return String(format: "%02d:%02d:%02d", hours, minutes, seconds)
  }

  func startTimer(hour:Int) {
    timerCounter = NSTimeInterval(hour * 60 * 60)
    NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "onTimer:", userInfo: nil, repeats: true)
  }

  @objc func onTimer(timer:NSTimer!) {
    // Here is the string containing the timer
    // Update your label here
    println(stringFromTimeInterval(timerCounter))
    timerCounter!--
  }
}

var anInstance = MyClass()

// Start timer with 3 hours
anInstance.startTimer(3)
CFRunLoopRun()