当用户右键点击NSMenu
内的NSTableCellView
时,我想弹出NSTableView
。
let cell = myTableView.make(withIdentifier: "myCustomTableCellView", owner: self) as! MyTableCellView // subclass of NSTableCellView
let menu = NSMenu()
menu.autoenablesItems = false
menu.addItem(NSMenuItem(title: "Test", action: nil, keyEquivalent: ""))
cell.menu = menu
但是如果用户点击单元格,则菜单不会弹出。
我找不到任何sendActionOn
方法或类似的东西。
如果有人可以提供帮助,那会很棒!
答案 0 :(得分:3)
无需做任何花哨的事情。您可以在Interface Builder中设计菜单。
Menu
从对象库拖到View Controller Table View
按住Ctrl键拖动到此菜单,然后将其连接到menu
商店IBActions
View Controller
相关联
醇>
假设你的右键菜单有3个动作
@IBAction func menuAction1(_ sender: Any) {
print("You clicked Item 1 for row \(self.tableView.selectedRow)")
}
@IBAction func menuAction2(_ sender: Any) {
print("You clicked Item 2 for row \(self.tableView.selectedRow)")
}
@IBAction func menuAction3(_ sender: Any) {
print("You clicked Item 3 for row \(self.tableView.selectedRow)")
}