swift iOS Live Activity中的计时器计数

enyaitl3  于 2023-08-02  发布在  Swift
关注(0)|答案(1)|浏览(114)

我想知道是否有可能创建一个简单的秒计数器,在iOS Live Activities中计数,它将从提供的unix时间戳开始,并相对于当前日期。举例来说:00:01,00:02,
我知道如何创建一个倒计时器,像这样:

Text(Date(timeIntervalSinceNow: 60), style: .timer)

字符串
但我还没有成功地让它以相反的方式工作,或者找到很多相关的信息。

jqjz2hbq

jqjz2hbq1#

请检查这个答案我希望它能解决你的问题

//
//  SampleStopWatch.swift
//

import UIKit

class SampleStopWatch:UIViewController {
    
    var timer:Timer?
    var startTime = Date()
   
    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .white
        timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: (#selector(updateTimer)), userInfo: nil, repeats: true)
    }
    
    @objc func updateTimer() {
        let timeInterval =  Date().timeIntervalSince(startTime)
        let titleLabel = timeInterval.stringFromTimeInterval() // show this text on label
        //labeltoShow.text = titleLabel
        print("title label " + titleLabel)
    }
}
extension TimeInterval{
    
    func stringFromTimeInterval() -> String {
        
        let time = NSInteger(self)
        
        let ms = Int((self.truncatingRemainder(dividingBy: 1)) * 1000)
        let seconds = time % 60
        let minutes = (time / 60) % 60
        let hours = (time / 3600)
        
        return String(format: "%0.2d:%0.2d:%0.2d.%0.3d",hours,minutes,seconds,ms)
        
    }
}

字符串

相关问题