菜单栏图标的菜单的菜单与菜单栏本身保持重叠

时间:2019-04-15 08:42:13

标签: swift macos cocoa

enter image description here

DATABASES

我使用此代码打开菜单,但是它不会像其他菜单一样位于菜单栏的后面吗?


update1:​​

 menuBarIconMenu.popUp(positioning: menuBarIconMenu.item(at: 0), at: NSPoint(x: 1842, y: 1414), in: nil)

这就是我分配菜单的方式

更新2:

这有效            statusItem = NSStatusBar.system.statusItem(withLength:NSStatusItem.squareLength)               statusItem?.menu = menuBarIconMenu

1 个答案:

答案 0 :(得分:1)

在我的一个应用程序的先前版本中,我还通过调用弹出功能手动打开了菜单,并遇到了类似的问题。您是如何分配NSMenu的?我建议您将NSMenu分配给NSStatusItem的menu属性。然后,您不必手动添加代码即可打开菜单。您是否有分配给您的NSStatusItem的自定义NSView实例?

private let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)

func applicationDidFinishLaunching(_ aNotification: Notification)
{
    self.statusItem.menu = self.createMenu()
}

private func createMenu() -> NSMenu
{
    // Close
    let menu = NSMenu()
    menu.addItem(NSMenuItem(title: "Quit", action: #selector(self.quit), keyEquivalent: "q"))

    return menu
}