配置这里就省略了,注意点说明下:
需要用swiftui;
代码里不支持异步操作,网络操作需要在getTimeline里面进行处理,图片之类的可以在这个方法进行下载,或者实现在主app里缓存好
widget主函数里只支持5个widget,多了会报错,如果需求是大于5个,则可以用supportedFamilies包含大中小号模式来进行处理,且通过custom intents来选择不同数据源/布局
IntentHandler是xcode自动生成的,不出现时,可以重启xcode
区分组件大小代码-该方法目前我在EntryView里面用过,但是getTimeline里面使用时一直返回的是中号尺寸,不知为何
@Environment(\.widgetFamily) var family
@ViewBuilder
var body: some View {
switch family {
case .systemSmall:
Text("小组件-中杯")
case .systemMedium:
Text("小组件-大杯")
case .systemLarge:
Text("小组件-特大杯")
default:
Text("小组件-默认给个中杯的")
}
}