[英]menu for menubar icon's menu keeps overlaping the menubar itself
menuBarIconMenu.popUp(positioning: menuBarIconMenu.item(at: 0), at: NSPoint(x: 1842, y: 1414), in: nil)
我使用此代码使菜单打开,但是它不会像其他菜单一样位于菜单栏的后面吗?
更新1:
statusItem = NSStatusBar.system.statusItem(withLength:NSStatusItem.squareLength)
menuBarMenuIcon = (statusItem?.button)!; menuBarMenuIcon.image = NSImage(named: "MenuBarButton"); menuBarMenuIcon.action = #selector(menuBarMenuClicked); menuBarMenuIcon.sendAction(on: [.leftMouseUp,.rightMouseUp])
这就是我分配菜单的方式
更新2:
这项工作statusItem = NSStatusBar.system.statusItem(withLength:NSStatusItem.squareLength)statusItem?.menu = menuBarIconMenu
在我的一个应用程序的先前版本中,我还通过调用弹出功能手动打开了菜单,并遇到了类似的问题。 您是如何分配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
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.