将按钮连接到计时器并以百分比计算时间

时间:2017-01-13 21:38:50

标签: ios swift timer percentage calculation

这可能是一个愚蠢的问题,因为我是编码的新手,但是:

我刚刚在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

1 个答案:

答案 0 :(得分:1)

好的,因为您添加了更多关于您希望如何做的信息,我将尝试解释一些事情。首先,我不会使用Timer,因为swift中的Timers是用于倒计时的,你不是在寻找。我要做的是先尝试制作一个有效的秒表,我建议你阅读this教程,了解如何做到这一点。

如果你有一个工作的StopWatch类,你需要这个类的3个实例:总时间;家有时间;而且客场拥有时间。 如果你有这些,那么获得它们的百分比将相当容易。家庭百分比将是这样的:

homeStopWatch.elapsedTime/totalStopWatch.elapsedTime * 100 

离开将从100减去前者的计算值。我希望我能稍微澄清你的疑虑,请问是否存在误解。

问候-Jorge