NSTableHeaderCell检测鼠标按下?

时间:2014-03-12 13:41:39

标签: cocoa nstableview nscell nstableheadercell

我尝试自定义NSTableHeaderCell来检测鼠标点击次数。在过去,我使用NSTrackingArea或覆盖mouseDown事件等内容,例如:

-(void)mouseDown:(NSEvent *)theEvent
{
    NSLog(@"Mouse down");
}

这些方法似乎无法在NSTableHeaderCell作为单元而非视图正常工作。

有人对检测细胞上的鼠标事件有什么建议吗?具体来说,我想抓住第一次点击(及其位置)。

1 个答案:

答案 0 :(得分:2)

AppKit设计的方式是通过NSTableViewDelegate

tableView:mouseDownInHeaderOfTableColumn:
'告诉代理人在指定的表格列标题中点击了鼠标按钮。'

除非您非常具体地需要在单元格中实际处理鼠标,否则在委托中实现该方法可能更容易。