ios - 在 Swift 中创建一个倒数计时器

标签 ios swift xcode timer countdown

我写了这段倒计时到特定日期的代码。

如何才能让倒计时的每个元素都显示在单独的标签中。

所以我会有一个显示天数的标签、一个显示小时数的标签、一个显示分钟数的标签和一个显示秒数的标签。

代码:

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 在第三个,和第 4 个标签中的 timeDifference.second

如果您编写了该代码,我认为那将是显而易见的 - 或者您复制/粘贴的是其他人的代码?

关于ios - 在 Swift 中创建一个倒数计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40529998/

相关文章:

ios - 保存 NSManagedObjectContext 的最佳实践

android - 有没有办法在 iOS 版本的 MPAndroidChart 框架中处理手势结束(触摸)?

xcode - 如何分析 Swift 框架?

ios - Xcode 9 : Getting More Information On Memory Leak

objective-c - 向下滚动时在表格 View 上附加数据

ios - CollectionView 中的自定义单元格重新排序行为

iphone - 如何以编程方式设置标签字体

swift - UITextChecker、Swift 的单词学习——不起作用

ios - 在 UITableView 中选择一个单元格,另一个单元格会受到影响

ios - 导航菜单 swift 2.2