NSVisualEffectView上的NSScrollView / NSCollectionView导致闪烁

时间:2015-06-04 00:28:41

标签: objective-c macos swift cocoa nsvisualeffectview

我在 NSPopover 中的 NSVisualEffectView 中有 NSCollectionView 。每当它刷新(添加,删除,重新加载 NSCollectionViewItem ,或者甚至只是点击 NSCollectionViewItem' s 视图中的按钮)时,它就会出现故障对照

这是我试图在开幕时获得的截图:

Flickering

它或多或少都是这样的,但只有在重绘时才会发生:

enter image description here

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

enter image description here

我尝试在不同的视图/控件中设置背景颜色,但是当它是空的时,NSCollectionView似乎总是黑/白(取决于UI颜色选择):

enter image description here

我错过了什么吗?

修改

通过在项目更改之前/之后添加scrollView.needsDisplay = false/true将使一些闪烁消失。但是,大多数问题仍然存在。

此外,如果我强制启用水平滚动条或禁用自动调整副视图,则添加/删除项目时将不再显示闪烁。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

好的,似乎禁用了" Autoresize Subviews"有问题的观点就可以解决问题。