隐藏大苏尔中的默认NSOutlineView展开/折叠箭头

时间:2020-11-07 05:14:16

标签: appkit nsoutlineview macos-big-sur

在macOS Big Sur之前,我可以创建一个NSOutlineView并隐藏用于展开和折叠项目组的默认显示/隐藏箭头。但是现在在大苏尔,我找不到任何摆脱默认箭头的方法。我正在使用自己的箭头样式和功能。

以下是屏幕截图:

enter image description here

我将NSOutlineView设置为具有Plain样式,因为我还在行周围提供了自己的边距。但是,我在情节提要编辑器中看不到用于隐藏箭头的任何选项,在文档的NSOutlineView下也看不到任何选项。

有人知道如何在Big Sur中隐藏默认的展开/折叠箭头吗?

1 个答案:

答案 0 :(得分:3)

自定义NSOutlineView的显示按钮的可靠方法是将NSOutlineView子类化并重写几个关键方法。首先,重写frameOfOutlineCellAtRow:将箭头重新定位在所需位置。然后,覆盖makeViewWithIdentifier:以自定义实际实现箭头的视图。您可以使用标识符NSOutlineViewDisclosureButtonKey对其进行标识。

以这种方式实现目标可能比以前做的更加可靠,而且对于可访问性屏幕阅读器等技术可能更加一致。