美文网首页
iOS Widgets组件开发

iOS Widgets组件开发

作者: unravelW | 来源:发表于2020-12-31 14:17 被阅读0次

iOS14系统提供了一个新的功能,可以使用WidgetKitSwiftUI开发新的小组件,它有多种尺寸,可以放在屏幕上的任何位置,来快速浏览应用的重要信息。

如何创建Widget

1、首先我们需要添加Widget Target到项目中。

2、添加配置详细信息

Widget有两种配置,StaticConfigurationIntentConfiguration。前者是代表没有用户可配置属性,后者代表用户可配置属性。意思就是使用后者的话,用户可以配置选择对应参数来展示需要的组件内容。如果创建Widget Extension时选中Include Configuration Intent的话,Xcode会自动帮我们创建对应的配置文件。

接下来我们来看一下Widget的文件结构

1、Provider

这个结构体主要用于提供数据和控制数据的刷新,总共有三个函数。

func placeholder(in context:Context) ->SimpleEntry

用于展示还未获取到数据时默认的Widget

func getSnapshot(for configuration:ConfigurationIntent, in context:Context, completion:@escaping(SimpleEntry) -> ()) 

用于展示当Widget被添加时给出的样例

func getTimeline(for configuration:ConfigurationIntent, in context:Context, completion:@escaping(Timeline) -> ())

在这个函数中获取展示数据,并且设置刷新时间

2、SimpleEntry

用于保存Widget内容数据和刷新时间

3、ProjectNameEntryView

布局Widget的View放在这里面

4、struct ProjectName: Widget

Widget的入口,定义了Widget的Kind、Provider、View等

参考Demo:https://github.com/JianBinWu/WidgetDemo

Demo请使用真机测试,模拟器会显示空白页面。https://developer.apple.com/forums/thread/650782

相关文章

网友评论

      本文标题:iOS Widgets组件开发

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