NSScrollView/NSCollectionView 在 NSVisualEffectView 上导致闪烁

NSScrollView/NSCollectionView on NSVisualEffectView cause flickering

我在 NSPopover 中的 NSVisualEffectView 中有一个 NSCollectionView。每次刷新时(添加、删除、重新加载 NSCollectionViewItem,甚至只是单击 NSCollectionViewItem 的 视图上的按钮),它在 控件.

这是我在打开时尝试获取的屏幕截图:

它或多或少是这样的,但只有当重绘发生时:

此外,如果我在上面放置一个带边框的按钮,当点击时颜色会消失,就像闪烁一样:

我尝试设置不同的背景颜色 views/controls,但似乎 NSCollectionView 为空时总是 black/white(取决于 UI 颜色选择):

我错过了什么吗?

编辑:

通过添加 scrollView.needsDisplay = false/true before/after 项目更改将使一些闪烁消失。尽管如此,大多数问题仍然存在。

此外,如果我强制启用水平滚动条或禁用自动调整大小子视图,则当 add/remove 项时闪烁将不再显示。

我在 NSPopover 中使用 NSTableView 时遇到了同样的问题。我能够通过将所有控件设置为外观类型 Aqua 而不是 dark/light.

来修复它

好的,似乎在有问题的视图上禁用 "Autoresize Subviews" 就可以解决问题。