Swift 4倒数计时器NowDate-日期
我想为2018年6月2日做一个倒计时。我该怎么做呢。当用户打开应用程序时,它应该在停止的地方继续 我决定用这个代码。其他人正在寻找相同的代码。我看到有人帮我解决了堆栈溢出问题,我完成了它Swift 4倒数计时器NowDate-日期,swift,xcode,Swift,Xcode,我想为2018年6月2日做一个倒计时。我该怎么做呢。当用户打开应用程序时,它应该在停止的地方继续 我决定用这个代码。其他人正在寻找相同的代码。我看到有人帮我解决了堆栈溢出问题,我完成了它 class ViewController: UIViewController { @IBOutlet weak var ayLabel: UILabel! @IBOutlet weak var gunLabel: UILabel! @IBOutlet weak var saatLabel: UILabel!
class ViewController: UIViewController {
@IBOutlet weak var ayLabel: UILabel!
@IBOutlet weak var gunLabel: UILabel!
@IBOutlet weak var saatLabel: UILabel!
@IBOutlet weak var dakikaLabel: UILabel!
@IBOutlet weak var saniyeLabel: UILabel!
@IBOutlet weak var secimGunu: UILabel!
let formatter = DateFormatter()
let userCleander = Calendar.current;
let requestedComponent : Set<Calendar.Component> = [
Calendar.Component.month,
Calendar.Component.day,
Calendar.Component.hour,
Calendar.Component.minute,
Calendar.Component.second
]
override func viewDidLoad() {
super.viewDidLoad()
let timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timePrinter), userInfo: nil, repeats: true)
timer.fire()
}
func timeCalculator(dateFormat: String, endTime: String, startTime: Date = Date()) -> DateComponents {
formatter.dateFormat = dateFormat
let _startTime = startTime
let _endTime = formatter.date(from: endTime)
let timeDifference = userCleander.dateComponents(requestedComponent, from: _startTime, to: _endTime!)
return timeDifference
}
@objc func timePrinter() -> Void {
let time = timeCalculator(dateFormat: "dd/MM/yyyy HH:mm:ss a", endTime: "02/06/2018 00:00:00 a")
ayLabel.text = "\(time.month!)"
gunLabel.text = "\(time.day!)"
saatLabel.text = "\(time.hour!)"
dakikaLabel.text = "\(time.minute!)"
saniyeLabel.text = "\(time.second!)"
}
由于问题非常广泛,最简单的解决方案是使用众多web服务之一显示倒计时,并将其保存为Safari中主页共享->添加到主屏幕的快捷方式。像这个:
如果你真的出于任何原因想要一个应用程序,最简单的选择是使用一个单一的视图应用程序在web视图中打开上面的URL
如果您确实需要编写自己的本机应用程序。然后,您需要在Xcode中创建一个单一视图应用程序,在其视图中有一个标签,在其ViewController中有一个计时器,每秒钟或任何您想要的时间段触发一次。计时器触发的事件将减少标签或显示剩余时间的方式。该应用程序还需要通过注册UIApplicationIDBecomeActivityfication来处理resume,以确保从后台恢复时,剩余时间得到更新
从这个问题来看,不清楚你到底想要什么。你是在问如何制作应用程序吗?那有点太宽了。或者如何创建在特定日期触发的计时器对象?您的意思是如何显示离世界还有多少天Cup@the4kman无需使用计时器2018年6月2日将举行选举。所以我需要一个倒计时器@Mirek@UmutCanAlparslan如果您只需要天数,可以使用日期更改通知进行更新。如果您还想显示小时、分钟和秒,则需要一个重复计时器