TimelineEntry (时间线条目)
一种类型,指定显示窗口小部件的日期,并可选地指示窗口小部件内容的当前相关性。
宣言
protocol TimeLineEntry
总览
TimelineProvider创建一个或多个带有日期的时间轴条目,告诉WidgetKit何时显示小部件。
为了呈现小部件,WidgetKit执行小部件配置的内容块,传递相应的时间轴条目。
*在声明符合TimelineEntry的结构时,请包括配置内容块呈现窗口小部件所需的所有其他信息。
以下代码显示了显示游戏角色健康状况的小部件的时间线输入结构。
struct CharacterDetailEntry: TimelineEntry {
var date: Date
var healthLevel: Double
}
小部件配置的内容块接收该条目作为参数,然后将相关信息传递到呈现小部件的视图。
代码如下:
struct CharacterDetailWidget: Widget {
// CharacterDetailProvider()
var body: some WidgetConfiguration {
StaticConfiguration(
kind: "com.mygame.character-detail",
provider: CharacterDetailProvider()) { entry in
CharacterDetailView(entry: entry)
}
.configurationDisplayName("Character Details")
.description("Displays a character's health and other details")
.supportedFamilies([.systemSmall, .systemMedium, .systemLarge])
}
}
话题
配置时间线条目属性
var date: Date
(需要)WidgetKit渲染小部件的日期。
var relevance: TimelineEntryRelevance
(需要,提供了默认实现)窗口小部件内容与用户的相关性。
另外阅读
时间线管理
使小部件保持最新
计划小部件的时间轴,以使用动态视图及时显示相关信息,并在发生变化时更新时间轴。
protocol TimelineProvider
建议WidgetKit何时更新窗口小部件显示的类型。
protocol IntentTimelineProvider
建议WidgetKit何时更新用户可配置的窗口小部件显示的类型。
struct TimelineProviderContext
一个对象,其中包含有关如何渲染小部件的详细信息,包括其大小以及它是否出现在小部件库中。
struct Timeline
一个对象,指定WidgetKit更新窗口小部件视图的日期。
class WidgetCenter
包含用户配置的小部件列表的对象,用于重新加载小部件时间线。
网友评论