簡體   English   中英

在Swift中創建倒數計時器

[英]Creating a Countdown Timer in Swift

我寫了這段代碼,倒計時到特定的日期。

如何使倒計時的每個元素顯示在單獨的標簽中。

所以我會有一個顯示天數的標簽,一個顯示小時數的標簽,一個顯示分鍾數的標簽和一個顯示秒數的標簽。

碼:

class ViewController: UIViewController {

@IBOutlet weak var dateLabelOutlet: UILabel!

let currentDate = Date()
let dateFormatter = DateFormatter()

let userCalendar = Calendar.current

let requestedComponent: Set<Calendar.Component> = [.day,.hour,.minute,.second]

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    let timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(printTime), userInfo: nil, repeats: true)
    timer.fire()

}

func printTime()
{
    dateFormatter.dateFormat = "dd/MM/yy hh:mm:ss"
    let startTime = Date()
    let endTime = dateFormatter.date(from: "25/12/16 00:00:00")
    let timeDifference = userCalendar.dateComponents(requestedComponent, from: startTime, to: endTime!)

    dateLabelOutlet.text = "\(timeDifference.day!) Days \(timeDifference.hour!) Hours \(timeDifference.minute!) Minutes \(timeDifference.second!) Seconds"
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}

您的代碼已經計算了DateComponents的差異,然后構建了一個字符串,其中包含日,小時,分鍾和秒的差異。

只需改變這一行:

dateLabelOutlet.text = "\(timeDifference.day!) Days \(timeDifference.hour!) Hours \(timeDifference.minute!) Minutes \(timeDifference.second!) Seconds"

您需要創建4個標簽並將timeDifference.day放在一個, timeDifference.hour放在另一個, timeDifference.minute放在第三個, timeDifference.second放在第四個標簽中。

如果您編寫該代碼我會認為這很明顯 - 或者是您復制/粘貼的其他人的代碼?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM