如何在SwiftUI中以编程方式显示菜单栏窗口?

5

我正在尝试使用Swift在macOS上以全局键盘快捷键的方式编程打开MenuBarExtra。我已经为键盘快捷键设置了所有代码,但我无法弄清楚如何使用SwiftUI显示/隐藏MenuBarExtra。是否有一种本机SwiftUI的方法可以做到这一点,而我却找不到?否则,是否可以通过AppKit来实现?

我以以下方式定义了我的菜单栏应用程序:

MenuBarExtra("Title", image: "sample_icon", content: {
      ContentView()
         .preferredColorScheme(.dark)
})
2个回答

0
以下是我使用的方法:
我使用的是 HotKey (https://github.com/soffes/HotKey )。
我的 keyUpHandler 如下所示:
{
let statusItem = NSApp.windows.first?.value(forKey: "statusItem") as? NSStatusItem
statusItem?.button?.performClick(nil)
}

适用于.menu和.window menuBarExtraStyle两者的工作

0

将一个布尔状态绑定到isInserted

MenubarExtra

您可以更改变量,以便控制菜单栏上图标的显示和隐藏。


实际上,isInserted 用于显示/隐藏菜单栏项本身,而不是其窗口/菜单。 - undefined
是的,没错。我以为他想要隐藏图标。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接