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"
}
var dateFormatter = DateComponentsFormatter()
dateFormatter.allowedUnits = ([.minute, .second])
dateFormatter.unitsStyle = .full
label1.text = dateFormatter.string(from: 105)
输出 -
1分钟45秒
从代码中,您猜测这一行是多余的:
minute = Int(sender.value)
consissis删除它
BTW,什么是行之有效的?当前的行为是什么?即将改变您的逻辑为:
@IBAction func slider(sender: UISlider) {
seconds = Int(sender.value)
minute = seconds/60
label.text = String(minute) + " Minute :" + String(seconds-(minute*60)) + " Seconds"
}
try这个
@IBAction func slider(sender: UISlider) {
let currentSec = Int(sender.value)
minute = currentSec/60
seconds = currentSec%60
label.text = String(minute) + " Minute :" + String(seconds) + " Seconds"
}
<body>
<div>
Hours
<p class="hour">00</p>
</div>
<div>Minutes
<p class="min">00</p></div>
<div>Seconds
<p class="sec">00</p></div>
<script>
let hours=document.querySelector(".hour")
let min=document.querySelector(".min")
let sec=document.querySelector(".sec")
setInterval(()=>{
const s=new Date().getSeconds()
const h=new Date().getHours()
const m=new Date().getMinutes()
if(s<10){
sec.textContent='0'+s
}else{
sec.textContent=s
}
if(m<10){
min.textContent='0'+m
}else{
min.textContent=m
}
if(h<10){
hours.textContent='0'+h
}else{
hours.textContent=h
}
},1000)
</script>
</body>