小编use*_*291的帖子

如何在 iOS 14 Home Widget 中显示当前时间(实时)

我正在为 ios 14 Home Widget 开发一个应用程序,在显示当前时间(数字时钟)时遇到一个问题,即该小部件没有每秒更新。众所周知,苹果不允许每秒触发时间线,有没有其他方法可以实时更新显示当前时间?

我尝试了这些方法,但没有按预期工作

class NetworkManager: ObservableObject {
    @Published var dateIs = Date()
    
    init() {
        startTimer() // fetch data must be called at least once
    }
    private  func startTimer() { 
        let t = RepeatingTimer(timeInterval: 3)
                t.eventHandler = {
                    DispatchQueue.main.async() {
                        // your UI update code
                        print("Timer Fired")
                     self.dateIs = Date()
                        WidgetCenter.shared.reloadAllTimelines() // reload timelines
                    }
                    if(false){   //I know this makes no sense, but it works. Go figure...
                        t.suspend()
                    }
                }
                t.resume()

    }
}


struct Provider: TimelineProvider { …
Run Code Online (Sandbox Code Playgroud)

widget swift widgetkit swiftui ios14

6
推荐指数
1
解决办法
5798
查看次数

标签 统计

ios14 ×1

swift ×1

swiftui ×1

widget ×1

widgetkit ×1