OS X 10.14中不赞成使用状态项弹出菜单

时间:2019-03-03 18:33:22

标签: swift xcode cocoa

当右键单击时,我可以获得状态项以显示菜单的唯一方法是调用popUpMenu()

@objc func statusBarPressed(button: NSButton){
    let event = NSApp.currentEvent
    let bundleId =  button.layer?.value(forKey: Constants.NSUserDefaultsKeys.bundleId) as! String
    let item = MyObj.statusItems.filter{$0.button == button}.first
    if event?.type == NSEvent.EventType.rightMouseUp {
        print("Right click")
        item?.popUpMenu(MyObj.menu) //works but depr
    } else {
        print("Left click")
    }
}

是否可以使用不推荐使用的方法来实现这一目标?使用

button.menu =  MyObj.menu
button.menu?.popUp(positioning: nil, at: NSPoint(x: 0, y: button.frame.height), in: button)

得到类似的结果,但是弹出菜单是浮动的,而不是像我想要的那样下拉菜单栏项。

0 个答案:

没有答案