Widget Code-Along 1 – 冒険の始まり – WWDC2020

Session概要

あなたのアプリを、iPhone, iPad, Macのホーム画面やToday画面に表示するという驚くような冒険の旅に出ましょう。スターター向けのプロジェクトを入手して、私達と一緒にコードを書いてみましょう!
あなたのアプリにWidget(ウィジェット)をつける方法を最初から最後まで丁寧に説明します。そうすることで、アクセスが用意な場所に美しいビューとひと目でわかりやすい情報を提供することが可能になります。
Widgetプロジェクトの作り方、Widgetとその構成の根本的なコンセプトを学び、Widgetとプロバイダーを設定し、タイムラインコンセプトを詳しく見ていきましょう。 https://developer.apple.com/videos/play/wwdc2020/10034/

Code-Along

Widget(ウィジェット)とは何か?

  • WidgetとはSwiftUI Viewのこと
    • iOS, iPadOS, macOSのネイティブViewを生成する、宣言型コードと同じ
  • そのため、コンテンツやレイアウトはSwiftUIで記述する
    • SwiftUIのpreviewもwidget targetで利用可能

Widgetの作成方法

  • Xcode → File → New → Target → で「widget」を検索
  • previewの際は WidgetPreviewContext を使用するとWidgetの内容を詳細に確認可能
    • previewContextの引数に設定

Widgetのモデル

  • WidgetKitに必要なエントリ(データソース)が一つだけなら、TimelineProviderはsnapshotを提供する
    • Widgetギャラリーなど
    • 完全なtimelineを提供するには、ユーザが既に構成済みのWidgetをデバイスに追加している場合です
  • timelineはユーザが実際にギャラリーからWidgetを追加して使用され


Widgetのサイズ対応

  • WidgetConfigurationのモディファイアを追加する

WidgetのPlaceholder対応

  • isPlaceholderモディファイアを設定する
  • この設定だけで、レイアウトはそのままで画像やテキストのプレースホルダが設定可能

最新情報をチェックしよう!