TimelineProviderContext (时间轴提供者上下文)
一个对象,其中包含有关如何渲染小部件的详细信息,包括其大小以及它是否出现在小部件库中。
宣言
struct TimeLineProviderContext
总览
请求窗口小部件的时间轴时,WidgetKit会传递一个TimelineProvider上下文对象,该对象包含有关窗口小部件的显示方式的详细信息。这些详细信息包括:
- 小部件系列:systemSmall、systemMedium或systemLarge。
- 小部件的大小(以磅为单位)。
- 小部件可能出现的环境的变体。
- 小部件是否在小部件库中显示为预览。
如果您的窗口小部件使用花费时间来生成资产或取决于渲染它们的特定环境,则可以使用环境变量来提前生成这些资产。要考虑的一些常见环境属性包括:
- .colorScheme,在其中您将不同的资产用于明暗方案。
- .displayScale,您的小部件可能会同时在macOS设备上的@ 1x和@ 2x显示中出现。
为了在环境变化时做出响应,WidgetKit可以预先渲染窗口小部件的视图。例如,WidgetKit会同时渲染窗口小部件的明暗版本,因此,如果颜色方案更改,则可以立即使用正确的版本。
话题
准备预览内容
let isPreview: Bool
一个布尔值,指示窗口小部件何时出现在窗口小部件库中。
访问尺寸属性
let family: Family
用户配置的窗口小部件系列:小,中或大。
let displayCGSize:CGSize
访问环境变化
let environmentVariants: TimelineProviderContext.EnvironmentVariants
窗口小部件出现时可能设置的所有环境值。
思考 环境变量如何设置的
struct EnvironmentVariants
包含窗口小部件可能出现的所有各种环境的结构。
另外阅读
时间线管理
使小部件保持最新
计划小部件的时间轴,以使用动态视图及时显示相关信息,并在发生变化时更新时间轴。
protocol TimelineProvider
建议WidgetKit何时更新窗口小部件显示的类型。
protocol IntentTimelineProvider
建议WidgetKit何时更新用户可配置的窗口小部件显示的类型。
protocol TimelineEntry
一种类型,指定显示小部件的日期,并可选地指示小部件内容的当前相关性。
struct Timeline
一个对象,它指定WidgetKit更新窗口小部件视图的日期。
class WidgetCenter
一个对象,其中包含用户配置的窗口小部件列表,用于重新加载窗口小部件时间线。
网友评论