[英]SwiftUI iOS14 Widget - Create create multi layout with the same WidgetFamily
當我從主屏幕添加小部件時,我可以看到 Apple 創建的時鍾應用程序有兩個小的WidgetFamily
布局。
如何在時鍾應用程序中制作兩個小部件?
我看到我只能為每個WidgetFamily
創建一個布局。
似乎您需要創建具有自己的視圖、條目、提供程序的單獨小部件...
這是使用WidgetBundle
的可能解決方案:
@main
注釋未附加到其中任何一個):struct Widget1: Widget {
let kind: String = "Widget1"
var body: some WidgetConfiguration {
StaticConfiguration(kind: kind, provider: Widget1Provider()) { entry in
Widget1Entry(entry: entry)
}
.configurationDisplayName("Widget1")
.description("This is an example widget v1.")
}
}
struct Widget2: Widget {
let kind: String = "Widget2"
var body: some WidgetConfiguration {
...
}
}
...
struct Widget1EntryView: View {
var entry: Widget1Entry
var body: some View {
Text("Widget1")
}
}
struct Widget2EntryView: View {
var entry: Widget2Entry
var body: some View {
Text("Widget2")
}
}
...
WidgetBundle
提供一個包含你的小部件的包:@main
struct WidgetsBudle: WidgetBundle {
var body: some Widget {
Widget1()
Widget2()
// add more Widgets if you want
}
}
請注意, @main
附加到WidgetsBudle
而不是 Widgets。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.