美文网首页
Widget 学习 TimelineEntry

Widget 学习 TimelineEntry

作者: 弑神指 | 来源:发表于2020-11-05 10:21 被阅读0次

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

包含用户配置的小部件列表的对象,用于重新加载小部件时间线。

相关文章

网友评论

      本文标题:Widget 学习 TimelineEntry

      本文链接:https://www.haomeiwen.com/subject/zkbgvktx.html