这可能是一个愚蠢的问题,因为我是编码的新手,但是:
我刚刚在swift编程了一个计时器工作正常,但我的小项目的下一步是制作三个连接到计时器的按钮,计算已经过的总时间的百分比。例如,一个拥有按钮的球拥有计算器" Home"当主队有球时,"离开"当客队拿球时,最后一个按钮"不在比赛中#34;当球失控时,将暂停计算占有率。是否有人可以帮助我将按钮连接到计时器,并帮助我使用代码来计算百分比?
我创建了两个标签来显示百分比。我希望有人可以帮助这个新手:)谢谢!
计时器:
@IBOutlet weak var lbl:UILabel!
var timer = Timer()
var minutes: Int = 0
var seconds: Int = 0
var timerIsOn = false
var stopwatchString: String = ""
@IBAction func start(_ sender: UIButton)
{
if timerIsOn == false {
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(ViewController.action), userInfo: nil, repeats: true)
}
timerIsOn = true
}
@IBAction func reset(_ sender: UIButton)
{
timer.invalidate()
seconds = 0
lbl.text = ("00:00")
timerIsOn = false
}
func action()
{
seconds += 1
lbl.text = String(seconds)
if seconds == 60 {
minutes += 1
seconds = 0
}
let secondsString = seconds > 9 ? "\(seconds)" : "0\(seconds)"
let minutesString = minutes > 9 ? "\(minutes)" : "0\(minutes)"
stopwatchString = "\(minutesString):\(secondsString)"
lbl.text = stopwatchString
答案 0 :(得分:1)
好的,因为您添加了更多关于您希望如何做的信息,我将尝试解释一些事情。首先,我不会使用Timer,因为swift中的Timers是用于倒计时的,你不是在寻找。我要做的是先尝试制作一个有效的秒表,我建议你阅读this教程,了解如何做到这一点。
如果你有一个工作的StopWatch类,你需要这个类的3个实例:总时间;家有时间;而且客场拥有时间。 如果你有这些,那么获得它们的百分比将相当容易。家庭百分比将是这样的:
homeStopWatch.elapsedTime/totalStopWatch.elapsedTime * 100
离开将从100减去前者的计算值。我希望我能稍微澄清你的疑虑,请问是否存在误解。
问候-Jorge