밀리 초를 표시하는 카운트 다운 타이머와 실행되는 시간을 표시하는 레이블이 있습니다. 0에서 멈 추면 00 : 01.0을 표시 00:00.0
하는 대신
내가 어디로 잘못 가고 있는지 알 수 없습니다.
weak var videoTimer: Timer?
var minutes = 2
var seconds = 0
var milliseconds = 0
func startTimer() {
videoTimer?.invalidate()
videoTimer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true, block: { [weak self] _ in
self?.timerIsRunning()
})
RunLoop.current.add(videoTimer!, forMode: RunLoop.Mode.common)
}
func timerIsRunning() {
let millisecStr = "\(milliseconds)"
let secondsStr = seconds > 9 ? "\(seconds)" : "0\(seconds)"
let minutesStr = minutes > 9 ? "\(minutes)" : "0\(minutes)"
timerLabel.text = "\(minutesStr):\(secondsStr).\(millisecStr)"
if seconds == 0 {
if minutes != 0 {
minutes -= 1
}
}
if milliseconds == 0 {
seconds -= 1
}
if seconds < 0 {
seconds = 59
}
if minutes == 0 && seconds == 0 && milliseconds == 0 {
print(minutes) // prints 0
print(seconds) // prints 0
print(milliseconds) // prints 0
videoTimer?.invalidate()
}
milliseconds -= 1
if milliseconds < 0 {
milliseconds = 9
}
}
.. 위의 밀리 초 함수를 사용하면 00:01.0
10 밀리 초가 남았습니다.
weak var videoTimer: Timer?
var minutes = 2
var seconds = 0
var milliseconds = 0
func startTimer() {
videoTimer?.invalidate()
videoTimer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true, block: { [weak self] _ in
self?.timerIsRunning()
})
RunLoop.current.add(videoTimer!, forMode: RunLoop.Mode.common)
}
func timerIsRunning() {
showTimer()
if seconds == 0 {
if minutes != 0 {
minutes -= 1
}
}
if milliseconds == 0 {
seconds -= 1
}
if seconds < 0 {
seconds = 59
}
milliseconds -= 1
if milliseconds < 0 {
milliseconds = 9
}
if minutes == 0 && seconds == 0 && milliseconds == 0 {
print(minutes) // prints 0
print(seconds) // prints 0
print(milliseconds) // prints 0
showTimer()
videoTimer?.invalidate()
}
}
func showTimer() {
let millisecStr = "\(milliseconds)"
let secondsStr = seconds > 9 ? "\(seconds)" : "0\(seconds)"
let minutesStr = minutes > 9 ? "\(minutes)" : "0\(minutes)"
timerLabel.text = "\(minutesStr):\(secondsStr).\(millisecStr)"
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다