Swift3 IOS从指定的数字开始计算分钟数
在我的足球秒表中,我试图让我的计数器在触摸SecondHalf Clicked时从45:00开始计时,但我想不通,我尝试在触摸计时器时将分钟数设置为45:00,但计数器仍然从00:00开始计时。有人能给我建议吗? 提前谢谢Swift3 IOS从指定的数字开始计算分钟数,swift3,xcode8,Swift3,Xcode8,在我的足球秒表中,我试图让我的计数器在触摸SecondHalf Clicked时从45:00开始计时,但我想不通,我尝试在触摸计时器时将分钟数设置为45:00,但计数器仍然从00:00开始计时。有人能给我建议吗? 提前谢谢 @IBAction func firstHalfClicked(_ sender: UIButton) { if startStopWatch == true { timerStart() startStopWatch = false
@IBAction func firstHalfClicked(_ sender: UIButton) {
if startStopWatch == true {
timerStart()
startStopWatch = false
seconds = 0
minutes = 0
}
}
@IBAction func endFirstHalfClicked(_ sender: UIButton) {
if startStopWatch == false {
timer.invalidate()
startStopWatch = true
seconds = 0
minutes = 45
stopwatchLabel.text = "45:00"
}
}
@IBAction func secondHalfClicked(_ sender: UIButton) {
if startStopWatch == true {
timerStart()
seconds = 0
minutes = 45
startStopWatch = false
tempTimelineLbl.text = "2nd Half Underway"
}
}
@IBAction func endSecondHalfClicked(_ sender: UIButton) {
if startStopWatch == false {
timer.invalidate()
startStopWatch = true
seconds = 0
minutes = 0
stopwatchLabel.text = "90:00"
tempTimelineLbl.text = "Full Time"
}
}
func timerStart() {
timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(StopWatchVC.updateStopwatch), userInfo: nil, repeats: true)
}
func updateStopwatch() {
let stopWatchString = stopwatch.elapsedTimeSinceStart()
stopwatchLabel.text = stopWatchString
}
class Stopwatch {
var startTime:Date?
func startTimer() {
startTime = Date();
}
func elapsedTimeSinceStart() -> String {
var elapsed = 0.0;
if let elapsedTime = startTime {
elapsed = elapsedTime.timeIntervalSinceNow
}
elapsed = -elapsed
let minutes = Int(floor((elapsed / 60)));
let seconds = Int(floor((elapsed.truncatingRemainder(dividingBy: 60))));
let timeString = String(format: "%02d:%02d", minutes, seconds)
return timeString
}
}
设法这样分类 我的班级
func elapsedTimeSinceStart() -> String {
var elapsed = 0.0;
if let elapsedTime = startTime {
if firstHalfTime {
elapsed = elapsedTime.timeIntervalSinceNow
} else {
elapsed = elapsedTime.timeIntervalSinceNow - 45*60
}
}
elapsed = -elapsed
let minutes = Int(floor((elapsed / 60)));
let seconds = Int(floor((elapsed.truncatingRemainder(dividingBy: 60))));
// print(elapsed)
let timeString = String(format: "%02d:%02d", minutes, seconds)
// print(timeString)
return timeString
然后是我的孩子
@IBAction func firstHalfClicked(_ sender: UIButton) {
if startStopWatch == true {
timerStart()
firstHalfTime = true
@IBAction func secondHalfClicked(_ sender: UIButton) {
if startStopWatch == true {
timerStart()
firstHalfTime = false
创建了一个全局变量
var firstHalfTime = true
我看到您将
minutes
设置为45,但我看不出您在哪里使用它。我以为是我在使用它,在哪里可以实现45分钟开始?我想这就是我一直在努力解决的问题,我的意思是你在哪里用它来计数或显示。