我正在通过将NSView
放入NSStackView
来以编程方式构建NSScroller
层次结构。我以前做过,我的代码正确。
视图层次结构是我期望的,直到第一次通过运行循环(或显示)时,macOS Catalina(我认为是Mojave)才自动将NSVisualEffectView
插入视图层次结构。这弄乱了我的自定义图纸,没有结束。
我创建的层次结构是
NSScrollView -> NSStackView -> stack subviews
在第一个显示循环进入之前,滚动视图对此内容进行了“丰富”:
NSScrollView -> NSClipView -> NSStackView -> stack subviews
并且在第一次显示后,将NSVisualEffects视图添加到与NSClipView相同的级别:
NSScrollView -> NSClipView -> NSStackView -> stack subviews -> NSVisualEffectsView
是否有一种方法可以告诉滚动视图我不需要视觉效果视图?
任何帮助将不胜感激!
我正在通过将NSStackView放入NSScroller中以编程方式构建NSView层次结构。我以前做过,我的代码是正确的。直到第一次我都希望看到视图层次结构。
确定您必须将drawsBackground
设置为false
。因此,通过引用NSScrollView,您可以在视图加载后调用类似的方法,或者在xib / storyboard文件中分配此值。