🦅

[SwiftUI]TipKitでアプリの機能を紹介する

2024/06/07に公開

TipKitとは

アプリの機能のヒントを表示するためのフレームワークです。
表示する内容やタイミングなども細かくカスタマイズできます。

https://developer.apple.com/documentation/tipkit/

1. Tipの内容を作成

MyTip.swift
import Foundation
import TipKit

struct MyTip: Tip {
    var title: Text {
        Text("title")
    }

    var message: Text? {
        Text("message")
    }

    var image: Image? {
        Image(systemName: "star")
    }
}

2 Tipの読み込み

アプリのセッションごとに、一度だけ呼び出すことが推奨されています。

The best practice is to call this once per app session, for example, in the init() method of your app.
https://developer.apple.com/documentation/tipkit/highlightingappfeatureswithtipkit

エントリーポイントがある場所にinitを追加してTipを読み込みます。

TipKitSampleApp.swift
  import SwiftUI
+ import TipKit
  
  @main
  struct TipKitSampleApp: App {
      var body: some Scene {
          WindowGroup {
              ContentView()
          }
      }
  
+     init() {
+         try? Tips.configure()
+     }
  }

3 Tipの表示

Tipには、インラインチップと
https://developer.apple.com/documentation/tipkit/tipview
ポップオーバーチップの2種類があります。
https://developer.apple.com/documentation/swiftui/view/popovertip(_:arrowedge:)

今回は2種類とも表示してみます、

ContentView.swift
import SwiftUI
import TipKit

struct ContentView: View {
    private var myTip = MyTip()

    var body: some View {
        VStack {
            TipView(myTip)

            Spacer()

            Button("Button") {}
                .buttonStyle(.borderedProminent)
                .popoverTip(myTip)
        }
        .padding()
    }
}

Discussion