在 Big Sur 中隐藏默认 NSOutlineView Expand/Collapse 箭头

Hide Default NSOutlineView Expand/Collapse Arrows in Big Sur

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

截图如下:

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

有谁知道如何在 Big Sur 中隐藏默认的 expand/collapse 箭头?

自定义 NSOutlineView 的显示按钮的可靠方法是继承 NSOutlineView 并重写几个关键方法。首先,重写 frameOfOutlineCellAtRow: 以将箭头重新定位到您想要的位置。然后,重写 makeViewWithIdentifier: 以自定义实际实现箭头的视图。您可以使用标识符 NSOutlineViewDisclosureButtonKey 来识别它。

以这种方式实现目标可能比您以前采用的方式更可靠,而且对于无障碍屏幕阅读器等技术而言可能更加一致。