首页 > 解决方案 > NSOutlineView 的 NSTintConfiguration 简要呈现控件强调色,然后呈现单色

问题描述

NSOutlineView在 Big Sur 上有一个,想用单色渲染它的图标。

从大苏尔开始,NSOutlineViewDelegate有:

optional func outlineView(_ outlineView: NSOutlineView, 
  tintConfigurationForItem item: Any) -> NSTintConfiguration?

我实施了它,它确实有效。

但是,当我展开一个项目时,它的子元素图标会用系统强调色短暂呈现,然后切换到单色色调。

public func outlineView(_ outlineView: NSOutlineView, tintConfigurationForItem item: Any) -> NSTintConfiguration? {
    return .monochrome
} 

NSOutlineView NSTintConfiguration

我可以使用 SF Symbols 图标(与自定义图标相同)通过一个非常基本的 NSOutlineView 重现这一点。这是 AppKit 错误还是我缺少其他设置?

标签: cocoaappkitmacos-big-surnsoutlineview

解决方案


推荐阅读