アプリ作るにあたって使ったシリーズ.今回はメニューバーに表示されているアプリ固有のメニューを追加する方法.
使い方
新しくメニューを作りたいときはCommandMenu
を,既存のメニューに追加したいときはCommandGroup
を使う.
このコードだと画像のようになる.
import SwiftUI @main struct MenuApp: App { var body: some Scene { WindowGroup { ContentView() } .commands { CommandMenu("CommandMenu") { Button("Menu Item") { print("Menu Item") } Divider() Menu("Sub Menu") { Button("Sub Menu Item") { print("Sub Menu Item") } } } CommandGroup(after: .textEditing) { Button("Menu Item added after existing Edit menu") { print("Menu Item added after existing Edit menu") } } } } }
その他
既存のメニューを置き換えたり任意のViewを表示したりできるので色々できそう.詳しくはドキュメントを読んでくれ!!
そういえばショートカットを追加するといい感じに表示してくれるのでEmojiGachaでも使った.ショートカットを追加する方法についてはこの記事で書いた.
Menu("Sub Menu") { Button("Sub Menu Item") { print("Sub Menu Item") } } .keyboardShortcut(.space, modifiers: .command)