📝

WidgetBundleを使う

2021/05/25に公開

WidgetBundle

WidgetBundleを使うと、異なる種類のWidgetを追加できます。

公式の例にもありますが、こんな感じです。

@main
struct GameWidgets: WidgetBundle {

    var body: some Widget {
        GameStatusWidget()
        CharacterDetailWidget()
        LeaderboardWidget()
    }

}

ポイントは、

  • @mainをつける
  • WidgetBundleを継承する
  • bodyの中で複数のWidgetを並べる

異なるWidgetを使うことで、異なるレイアウトのWidgetを作りやすくなりますね。

サンプルで作ったものはこちらになります。

@main
struct MyWidgets: WidgetBundle {
    var body: some Widget {
        FirstWidget()
        SecondWidget()
    }    
}

1つ目 2つ目

参考

https://developer.apple.com/documentation/widgetkit/creating-a-widget-extension
https://developer.apple.com/documentation/SwiftUI/WidgetBundle

Discussion