【SwiftUI】Menuの使い方

(2023/04/08 更新)

メニューボタンを表示するMenuの使い方を解説します。

スポンサーリンク

環境

この記事の情報は次のバージョンで動作確認しています。

【Xcode】14.3
【iOS】16.4
【macOS】Ventura 13.2
スポンサーリンク

基本的な使い方

タイトルが文字列の一般的なメニューの形式です。
メニューアイテムには通常Buttonビューを並べます。

使用例

UntitledImage

UntitledImage

スポンサーリンク

タイトルに文字列以外のViewを使う

タイトルに文字列以外のViewを指定する場合は次のイニシャライザを使用します。

使用例

UntitledImage

UntitledImage

スポンサーリンク

階層メニュー

メニューアイテムにMenuを組み込むと階層の構造のメニューが作れます。

UntitledImage

UntitledImage

スポンサーリンク

プライマリーアクションの指定

primaryActionパラメータでメニューボタンをタップした時のデフォルト動作(primary action)を指定できます。

または

メニューボタンをタップした場合はデフォルト動作を実行。長押しでメニューを表示し動作を選択可能にできます。

使用例

タップするとデフォルトの英語で挨拶。長押しで英語と日本語を選択できるオプションメニューが表されます。

UntitledImage

UntitledImage

Image

スポンサーリンク

メニューボタンのスタイルを指定する

メニューボタンのスタイルは、次のモディファイアで指定できます。

使用可能な定義済スタイルは、こちらを参照してください。

UntitledImage

スポンサーリンク

メニューアイテムの表示順について

メニューボタンの配置によって、タップした時に開くメニューの位置が異なる場合があります。
タイトルの上にメニューが開いた場合、メニュー項目の表示順が反転しますので注意して下さい。

UntitledImage

UntitledImage

スポンサーリンク

あわせて読みたい記事

【SwiftUI】Buttonの使い方
(2021/10/19 更新) ラベルとアクションを持つButtonの使い方を解説します。
【SwiftUI】 Labelの使い方
(2021/05/09 更新) Labelはタイトルとアイコンで構成されたラベルを表示する為の専用Viewで、iOS14から使えるようになりました。