iOS14 Widget小组件开发(Widget Extension)

iOS14 Widget小组件开发(Widget Extension),第1张

File -> New -> Target -> Widget Extension

本文主要以 未勾选 用户配置属性的情况说明

为小组件展示提供一切必要信息的结构体,遵守 TimelineProvider 协议,产生一个时间线,告诉 WidgetKit 何时渲染与刷新 Widget,时间线包含一个你定义的自定义TimelineEntry类型。时间线条目标识了你希望WidgetKit更新Widget内容的日期。在自定义类型中包含你的Widget的视图需要渲染的属性。

Timeline的刷新策略是会延迟的,并不一定根据你设定的时间精确刷新。同时官方说明了每个widget窗口小部件每天接收的刷新都会有数量限制

TimelineProvider官方解释

渲染 Widget 所需的 数据模型 ,需要遵守 TimelineEntry 协议。

屏幕上 Widget 显示的内容,可以针对不同尺寸的 Widget 设置不同的 View。

一个Widget只能实现大中小三个不同尺寸的组件形式,如果现有需求要做不同功能并且相同尺寸规格的组件则需要实现多组件

1.通过修改原Widget入口文件方法添加更多配置来支持多个Widget

2.另建SwiftUI文件实现组件功能,并去除 @main ,修改相同函数名

并在Widget页面中 Entry 中绑定对应的模型

如果主APP用的swift编写,可以将网络请求模块文件共享或pods库共享(方法后文会介绍)

posterFromJson 此数据模型转换方法仅适用简易接口(为了偷懒

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11560202.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存