答案 0 :(得分:0)
自Yosemite(macOS 10.10)起,此行为已内置到AppKit中。如果滚动视图与工具栏或标题栏相邻,则通常无需执行任何操作即可使内容显示在顶部栏的下方。
如果它不起作用,则可能需要向窗口的NSWindow.StyleMask.fullSizeContentView
中添加styleMask
并使用窗口的contentLayoutRect
或contentLayoutGuide
来调整内容视图的布局以显式放置内容在顶部栏的后面。
观看WWDC 2014 Session 220: Adopting Advanced Features of the New UI of OS X Yosemite。它在标题为“标题栏和工具栏”的部分中讨论了行为和API,该标题开始于7m03左右。
再次查看您的屏幕截图,我注意到顶部栏下方的内容实际上并没有模糊,因此这不是内置AppKit行为的情况。
我认为应用程序正在使用窗口.fullSizeContentView
中的styleMask
,并且还将窗口的titlebarAppearsTransparent
属性设置为true。然后,该应用将在窗口顶部添加部分透明的视图,并覆盖滚动视图的顶部。
我在上面链接的WWDC视频中也讨论了titlebarAppearsTransparent
属性。