0

我正在使用 Swift 构建一个 macOS 菜单栏应用程序,当单击 ' 按钮时NSStatusItem,它会打开一个。NSPopoverNSStatusItem

我怎样才能也给NSPopover重点?目前,用户需要点击弹出框来聚焦它,但我想以编程方式获取焦点。

提前致谢

4

1 回答 1

0

解决方案是调用makeKey()拥有的窗口。

这可以从 main 完成NSApplicationDelegate,例如

func applicationDidFinishLaunching(_ aNotification: Notification) {

     // Other setup

     popover.contentViewController?.view.window?.makeKey()
}

或来自相关的NSViewController,例如

override func viewDidAppear() {
    super.viewDidAppear()
    view.window?.makeKey()
}

文档在这里

于 2020-01-29T10:50:23.090 回答