TimelineEntry Protocol

TimelineEntry

指定显示小组件的日期的类型。

表示小组件内容的当前相关性(relevance)——可选。

定义

  1. protocol TimelineEntry

概述

TimelineProvider创建一个或多个时间线条目,这些日期告诉WidgetKit何时显示一个widget。

要渲染一个widget,WidgetKit会执行widget配置的内容块,传递相应的时间线条目。 当你声明一个符合TimelineEntry的结构时,请包含配置的内容块所需的任何附加信息来渲染widget。下面的代码显示了一个显示游戏角色健康水平的小组件时间线struct。

  1. struct CharacterDetailEntry: TimelineEntry {
  2. var date: Date
  3. var healthLevel: Double
  4. }

小组件配置的内容块作为参数接收条目,然后将相关信息传递给渲染您的小组件的视图。

  1. struct CharacterDetailWidget: Widget {
  2. var body: some WidgetConfiguration {
  3. StaticConfiguration(
  4. kind: "com.mygame.character-detail",
  5. provider: CharacterDetailProvider(),
  6. placeholder: CharacterPlaceholderView()) { entry in
  7. CharacterDetailView(entry: entry)
  8. }
  9. .configurationDisplayName("Character Details")
  10. .description("Displays a character's health and other details")
  11. .supportedFamilies([.systemSmall, .systemMedium, .systemLarge])
  12. }
  13. }

Topics

Configuring Timeline Entry Properties

  • var date: Date

    • WidgetKit渲染小部件的日期。「必须
  • var relevance: TimelineEntryRelevance?

    • 小组件的内容与用户的相关性。

    • 「必须」不过提供了默认值,其实也是一个可选项。