我一生都无法弄清楚如何让 NSPopUpButtonCell 在 NSTableHeaderCell 中工作。我已经尝试在这里实现解决方案:使用 NSPopUpButtonCell 时在 NSTableView 中获取重复的标题按钮单元格,但似乎某些方法在 Swift 中不可用,特别是在 headerCell 上执行 ClickWithFrame。
我设法让弹出按钮像这样在标题中绘制:
class DropDownHeaderCell: NSTableHeaderCell {
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override init(textCell aString: String) {
super.init(textCell: aString)
}
override func drawWithFrame(cellFrame: NSRect, inView controlView: NSView) {
let buttonCell = NSPopUpButtonCell(textCell: "", pullsDown: true)
buttonCell.addItemsWithTitles(["Item1", "Item2", "Item3"])
buttonCell.drawWithFrame(cellFrame, inView: controlView)
}
}
每当我尝试单击按钮时,它都会选择标题单元格。如何获取它以便我的点击注册在按钮而不是标题上?