【发布时间】:2020-02-05 13:49:19
【问题描述】:
我正在实现一个自定义NSToolbarItem,它有一个按钮和一个下拉菜单,比如邮件。但是,唯一不起作用的是NSMenuItem 被禁用。无论我做什么,我都无法启用它。知道我在这里做错了什么吗?
class DropdownTypeToolbarItem: NSToolbarItem {
private var handler: ((NSNumber) -> Void)?
init(itemIdentifier: NSToolbarItem.Identifier, handler: ((NSNumber) -> Void)?) {
super.init(itemIdentifier: itemIdentifier)
self.handler = handler
let control = NSSegmentedControl(labels: ["Open", ""],
trackingMode: .momentary,
target: self,
action: #selector(open))
let menu = NSMenu(title: "")
menu.addItem(withTitle: "Export", action: #selector(export(_:)), keyEquivalent: "")
control.setMenu(menu, forSegment: 1)
control.setShowsMenuIndicator(true, forSegment: 1)
self.view = control
}
@objc func open() {
print("select open")
self.handler?(0)
}
@objc func export(_ sender: Any) {
print("select export")
self.handler?(1)
}
}
【问题讨论】:
标签: swift appkit nsmenu nsmenuitem nstoolbaritem