在Swift中创建秒表可以通过使用Timer和Date来实现。下面是一个简单的示例代码:
import UIKit
class ViewController: UIViewController {
var timer: Timer?
var startTime: Date?
override func viewDidLoad() {
super.viewDidLoad()
let startButton = UIButton(frame: CGRect(x: 100, y: 100, width: 100, height: 50))
startButton.setTitle("Start", for: .normal)
startButton.setTitleColor(.blue, for: .normal)
startButton.addTarget(self, action: #selector(startButtonTapped), for: .touchUpInside)
view.addSubview(startButton)
let stopButton = UIButton(frame: CGRect(x: 100, y: 200, width: 100, height: 50))
stopButton.setTitle("Stop", for: .normal)
stopButton.setTitleColor(.red, for: .normal)
stopButton.addTarget(self, action: #selector(stopButtonTapped), for: .touchUpInside)
view.addSubview(stopButton)
}
@objc func startButtonTapped() {
startTime = Date()
timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(updateTimer), userInfo: nil, repeats: true)
}
@objc func stopButtonTapped() {
timer?.invalidate()
timer = nil
}
@objc func updateTimer() {
if let startTime = startTime {
let currentTime = Date()
let elapsedTime = currentTime.timeIntervalSince(startTime)
let minutes = Int(elapsedTime / 60)
let seconds = Int(elapsedTime.truncatingRemainder(dividingBy: 60))
let milliseconds = Int((elapsedTime * 100).truncatingRemainder(dividingBy: 100))
print(String(format: "%02d:%02d:%02d", minutes, seconds, milliseconds))
}
}
}
这段代码创建了一个简单的界面,包含了一个"Start"按钮和一个"Stop"按钮。当点击"Start"按钮时,会记录开始时间并启动一个定时器,定时器每隔0.1秒触发一次updateTimer
方法,该方法会计算经过的时间并打印出来。当点击"Stop"按钮时,定时器会停止。
这个秒表示例可以用于各种需要计时的场景,比如比赛计时、任务执行时间统计等。
腾讯云相关产品和产品介绍链接地址:
算法大赛
云+社区沙龙online [技术应变力]
Elastic 实战工作坊
Elastic 实战工作坊
高校公开课
云+社区沙龙online [新技术实践]
领取专属 10元无门槛券
手把手带您无忧上云