以下链接是我的StopWatch应用程序代码。我做的一切都很完美。但是当我按下PAUSE按钮计时器停止时,再次重新启动我将点击START按钮。但是那时计时器从启动而不是从暂停按钮停止的位置开始运行。 请指教我解决这个问题。 导入UIKit
@IBAction func Play(sender: AnyObject) {
timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: Selector("increment"), userInfo: nil, repeats: true)
startTime = NSDate.timeIntervalSinceReferenceDate()
}
@IBAction func Pause(sender: AnyObject) {
timer.invalidate()
}
@IBAction func Stop(sender: AnyObject) {
timer.invalidate()
time = 0
resultLabel.text = "\(0):\(0):\(0):\(0)"
}
答案 0 :(得分:1)
开始:
timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("updateView"), userInfo: nil, repeats: true)
恢复:
timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("updateView"), userInfo: nil, repeats: true)
暂停:
timer.invalidate
答案 1 :(得分:0)
你应该只是打电话
startTime = NSDate.timeIntervalSinceReferenceDate()
当你最初开始时。如果你在恢复时给它打电话,你将覆盖开始时间,就像你重新开始一样。