[英]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.