现在我有一个NSView,其中包含几个子视图,如下所示:
x------x
| |
x------x
| |
x------x
第二个子视图开始隐藏,但稍后显示。问题在于根视图所投射的阴影不会覆盖新显示的第二个子视图。
有趣的是,如果我调用NSAnimationContext.runAnimationGroup { self.view.layoutSubtreeIfNeeded() }
,阴影会得到更新,但这也会产生不想要的效果,使整个视图从无到有动画化为新大小。在动画块外部调用self.view.layoutSubtreeIfNeeded()
是无效的。
我需要弄清楚如何使阴影无效,以便它可以识别根视图的新大小。