如何解决iOS14小部件没有动态更改
我想更改ios14小部件的背景字体样式
这是我的代码
func getTimeline(in context: Context,completion: @escaping (Timeline<Entry>) -> ()) {
var entries: [SimpleEntry] = []
//Steps
let SteGroupName : String = "group.com.ColorWidget.SmartTimeWidget"
let strStyle = UserDefaults.init(suiteName: SteGroupName)?.value(forKey: "NumberOfStyle_APP") as? String ?? "1"
let strBatteryShowOrNot = UserDefaults.init(suiteName: SteGroupName)?.value(forKey: "isBatteryShow_APP") as? String ?? "YES"
}
第一次使窗口小部件的更改完美地反映出来,但在其余时间中,窗口小部件的更改不会随最新更改而更新。
请提供任何帮助。
解决方法
对于您而言,每当在包含应用程序的应用程序组中更新UserDefaults时,您都需要致电
WidgetCenter.shared.reloadAllTimelines() // Or reloadTimelines(ofKind)
在包含应用的一侧(当它进入后台(或您希望的其他情况)时)。
然后,窗口小部件扩展程序将通过调用getTimeline()
重新加载时间线。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。