如何在Swift中创建用户定义的倒数计时器?
我的应用中有2页。在第一页上,我要求用户在UITextField中写入一个小时值(例如:3),然后使用segue.identifier,我将此信息传递给第二页,我想从3小时开始倒计时为02:59: 59格式并在UILabel中打印。感谢
答案 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()