因此我正在使用具有分钟和秒的倒计时手表以及滑块来更改其值。如果秒= = 60,我想把我的分钟加1。但它不会工作。请帮忙。
import UIKit
class ViewController: UIViewController {
var seconds = 59
var minute = 0
@IBOutlet weak var label: UILabel!
@IBOutlet weak var sliderOutlet: UISlider!
@IBAction func slider(sender: UISlider) {
seconds = Int(sender.value)
minute = Int(sender.value)
if seconds == 60 {
minute = minute + 1
seconds = 0
}
label.text = String(minute) + " Minute :" + String(seconds) + " Seconds"
}
答案 0 :(得分:1)
只需删除将秒数更改为分钟的逻辑并使用此代码 -
var dateFormatter = DateComponentsFormatter()
dateFormatter.allowedUnits = ([.minute, .second])
dateFormatter.unitsStyle = .full
label1.text = dateFormatter.string(from: 105)
输出 -
1分45秒
答案 1 :(得分:0)
从代码中,你猜测这行是多余的:
minute = Int(sender.value)
考虑将其删除。
顺便问一下,究竟什么都行不通?目前的行为是什么?答案 2 :(得分:0)
刚刚改变你的逻辑:
@IBAction func slider(sender: UISlider) {
seconds = Int(sender.value)
minute = seconds/60
label.text = String(minute) + " Minute :" + String(seconds-(minute*60)) + " Seconds"
}
答案 3 :(得分:0)
试试这个
@IBAction func slider(sender: UISlider) {
let currentSec = Int(sender.value)
minute = currentSec/60
seconds = currentSec%60
label.text = String(minute) + " Minute :" + String(seconds) + " Seconds"
}