【发布时间】:2021-02-28 00:10:07
【问题描述】:
我目前正在将我的应用程序迁移到 Big Sur,但是我无法让 NSTableCellViews 正常运行。 Big Sur 现在在表格单元格图像视图中为模板图像使用系统色调,就像您在此处的 Finder 中看到的那样:
现在大部分情况下,这在我的NSTableViews(源列表类型)中运行良好,但是在我选择表格单元格之前,某些单元格似乎不会应用色调。我尝试了一切,包括只使用新的NSOutlineView 和NSTableCellViews,没有任何修改,但没有成功。
这对我来说是这样的:
表格的第一个单元格在第一个显示时始终显示为无色。有谁知道是什么原因造成的?
PS:我怀疑NSImageView 有问题,因为当我在图像视图上手动设置色调颜色时,色调也仅在我至少选择一次单元格后才开始出现:
cell.imageView?.contentTintColor = .red
据我所知,这是一个 Apple SDK 错误。
实施以下内容并仅返回强调色似乎可以缓解此问题,但并未完全解决。单个图标未着色的情况仍然可能发生。
extension MyController: NSOutlineViewDelegate {
@available(OSX 11.0, *)
func outlineView(_ outlineView: NSOutlineView,
tintConfigurationForItem item: Any) -> NSTintConfiguration? {
.init(preferredColor: .controlAccentColor)
}
}
但我认为这不是必需的。
PS:即使有这个“修复”单元格图标有时也没有应用颜色。
【问题讨论】:
-
很遗憾,我没有解决办法,但我可以确认您不是唯一看到此行为的人。你提交了雷达吗?
标签: swift macos cocoa appkit macos-big-sur