【发布时间】:2020-06-15 22:22:25
【问题描述】:
当我的计时器达到零并且当前出现问题时,我正在尝试执行 segue。我已经删除了所有代码,因为我一直在尝试在执行 segue 之前提供更清晰的视图。下面我将发布倒计时的代码。任何帮助让它在完成后继续运行将不胜感激。提前谢谢你
class CountdownViewController: UIViewController {
@IBOutlet weak var iconImage: UIImageView!
@IBOutlet weak var countdownLabel: UILabel!
//Countdown
let futureDate: Date = {
let future = DateComponents(
year: 2020,
month: 6,
day: 16,
hour: 09,
minute: 32 ,
second: 45
)
return Calendar.current.date(from: future)!
}()
var countdown: DateComponents {
return Calendar.current.dateComponents([.day, .hour, .minute, .second], from: Date(), to: futureDate)
}
@objc func updateTime() {
let countdown = self.countdown //only compute once per call
let days = countdown.day!
let hours = countdown.hour!
let minutes = countdown.minute!
let seconds = countdown.second!
self.countdownLabel.text = String(format: "%02d %02d %02d %02d", days, hours, minutes, seconds)
}
override func viewDidLoad() {
super.viewDidLoad()
func runCountdown() {
Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(updateTime), userInfo: nil, repeats: false)
}
runCountdown()
(print(countdown))
(print(countdownLabel as Any))
UIView.animate(withDuration: 3.0 , animations: {
self.countdownLabel.alpha = 0
self.countdownLabel.alpha = 50
self.countdownLabel.alpha = 100
})
UIView.animate(withDuration: 5.0, delay: 0 , options: [.repeat , .autoreverse , .curveEaseIn] , animations: {
let angle = CGFloat(Double.pi)
self.iconImage.transform = CGAffineTransform.init(rotationAngle: (angle))
})
}
}
【问题讨论】:
-
如果你很好地格式化你的代码,它可以帮助人们阅读你的问题。在 Xcode 中使用 cmd-A ctrl-i 正确缩进代码。然后,您可以在粘贴到您的问题之前删除不必要的空行。
-
谢谢保罗,我一定会接受的。