当前位置:  开发笔记 > IOS > 正文

Swift - 显示时间的更新/刷新标签

如何解决《Swift-显示时间的更新/刷新标签》经验,为你挑选了1个好方法。

我有一个标签,以12小时格式显示当前时间.

但是,每次分钟/小时更改时,它都不会更新/刷新时间.

我需要它在时间变化时自动将标签更改为当前时间.



1> Ganesh Kumar..:

Swift 3解决方案

class ViewController {

@IBOutlet weak var timeLabel: UILabel!
var timer: Timer?

let formatter: DateFormatter = {
       let tmpFormatter = DateFormatter()
       tmpFormatter.dateFormat = "hh:mm a"
       return tmpFormatter
     }()

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view, typically from a nib.


  timer = Timer.scheduledTimer(timeInterval: 60, target: self, selector: #selector(self.getTimeOfDate), userInfo: nil, repeats: true)
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    timer?.invalidate()
  }

func getTimeOfDate() {
   var curDate = Date()

   timeLabel.text = formatter.string(from: curDate)

}


这不是很好.它从`viewDidLoad`开始,以`viewWillDisappear`结尾.这意味着它会在您导航或按下主页按钮时停止,并且在您返回时不会重新启动.如果使用`viewWillDisappear`,你应该使用`viewWillDppear`来启动它.或者如果使用`viewDidLoad`则使用`deinit`.
推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有