【?】ヘルプボタンとポップオーバー

macOS 15(Sequoia)では、helpButton()モディファイアを使用するのが最も簡単な方法です。以下のようなコードで実装できます:

ポイント:

  • Image(systemName: "questionmark.circle")でシステム標準の「?」アイコンを使用
  • .buttonStyle(.plain)または.borderlessでボタンの余計な装飾を削除
  • .controlSize(.small)で小さいサイズに調整
  • .help()モディファイアでホバー時のツールチップを追加

ポップオーバー

主なポイント:

  1. @State変数でポップオーバーの表示状態を管理
  2. .popover()モディファイアでポップオーバーを表示
  3. arrowEdgeパラメータで矢印の位置を指定(.trailingで右側)
  4. カスタムビューを使って、複雑なヘルプコンテンツも表示可能

macOSのNSPopoverの作り方、SwiftUI版とAppKit版

ポップオーバーのオプション

矢印の向きを指定

サイズを指定

実用的な例:複数のポップオーバー

ポップオーバーの動作

動作説明
表示isPresentedtrueにする
非表示isPresentedfalseにする
自動で閉じる外側をクリックすると自動的に閉じる
矢印ボタンを指す矢印が自動的に表示される

ポイント

  • ✅ シンプル.popover()修飾子で簡単に実装
  • ✅ 自動管理: 位置計算や表示/非表示を自動処理
  • ✅ ネイティブ: macOSの標準的な見た目と動作
  • ✅ アニメーション: 開閉アニメーションが自動的に適用

コメント

タイトルとURLをコピーしました