我有一个基于视图的NSTableView与自定义NSTableCellView和自定义NSTableRowView.我自定义了这两个类,因为我想改变每一行的外观.通过实现[NSTableRowView draw ...]方法,我可以更改背景,选择,分隔符和拖动目标高亮显示.
我的问题是:如何更改右键单击行并出现菜单时出现的突出显示?
例如,这是常态:

我想将方形高光改为圆形,如下所示:

我想这可以通过调用drawMenuHighlightInRect:或类似的方法在NSTableRowView中完成,但我找不到它.另外,如果我在我的子类中定制了所有绘图方法,并且我不调用超类,那么NSTableRowView类如何才能这样做呢?这是由表本身绘制的吗?
经过一些实验,我发现可以通过将tableview设置为源列表来实现圆形突出显示.尽管如此,我想知道如何在可能的情况下自定义它.