Macos NSTableView与核心动画层

Macos NSTableView与核心动画层,macos,cocoa,core-animation,nstableview,Macos,Cocoa,Core Animation,Nstableview,我有一个NSTableView,上面有一个范围栏,我想为显示和隐藏设置动画。为此,我使用NSAnimationContext将它们放在堆栈视图中,以设置范围栏高度约束的动画。到目前为止还不错 问题在于NSAnimationContext需要核心动画层,而NSTableView与它们的交互很差。我搜索了一下,发现了一些关于这方面的投诉。这会导致非常奇怪的绘图错误,在滚动过程中重用单元视图时似乎会发生这种错误。只需在xib文件中关闭图层即可修复图形错误,但会中断动画 我尝试返回到旧的NSViewAn

我有一个
NSTableView
,上面有一个范围栏,我想为显示和隐藏设置动画。为此,我使用
NSAnimationContext
将它们放在堆栈视图中,以设置范围栏高度约束的动画。到目前为止还不错

问题在于
NSAnimationContext
需要核心动画层,而NSTableView与它们的交互很差。我搜索了一下,发现了一些关于这方面的投诉。这会导致非常奇怪的绘图错误,在滚动过程中重用单元视图时似乎会发生这种错误。只需在xib文件中关闭图层即可修复图形错误,但会中断动画

我尝试返回到旧的
NSViewAnimation
方法,但它不适用于布局约束


那么,有没有办法a)使表视图与层一起工作,或者b)不带层地设置范围栏的动画?

我会使用组行(浮动)作为范围栏,这样我就可以使用标准的表视图动画来显示和隐藏视图。另一种可能是,当范围栏将设置动画时,仅临时切换到层。我尝试在动画之后设置
view.layer=false
,但表视图仍然混乱。有趣的是,在macOS 10.14 beta中,在不打开任何CA层的情况下,动画工作,表视图仍然很好。