这是我在另一个应用程序中看到的。它的NSScrollView视图不知道如何实现跨境。
如何才能做到这一点?
发布于 2019-05-22 02:02:33
自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行为的情况。
我相信这个应用程序正在做的是在窗口的styleMask
中使用.fullSizeContentView
,并将窗口的titlebarAppearsTransparent
属性设置为true。然后,应用程序在窗口顶部添加一个部分透明的视图,覆盖滚动视图的顶部。
我在上面链接的WWDC视频中也讨论了titlebarAppearsTransparent
属性。
https://stackoverflow.com/questions/56242104
复制相似问题