swift - NSScrollView 是如何实现这样的内容视图的呢?
解决方案
自 Yosemite (macOS 10.10) 以来,此行为已内置到 AppKit 中。如果您的滚动视图与您的工具栏或标题栏相邻,您通常不需要做任何事情来使内容在顶部栏下显示模糊。
如果它不起作用,您可能需要添加NSWindow.StyleMask.fullSizeContentView
到您的窗口styleMask
并使用窗口调整您的内容视图布局,contentLayoutRect
或者contentLayoutGuide
明确地将内容放在顶部栏后面。
观看WWDC 2014 Session 220:采用 OS X Yosemite 新 UI 的高级功能。它在标题为“标题栏和工具栏”的部分中讨论了行为和 API,该部分开始于 7 分 3 秒左右。
更新
再次查看您的屏幕截图,我注意到顶部栏下的内容实际上并未模糊,因此这不是内置 AppKit 行为的情况。
我相信应用程序正在做的是在窗口中使用.fullSizeContentView
,styleMask
并将窗口的titlebarAppearsTransparent
属性设置为 true。然后应用程序在窗口顶部添加一个部分透明的视图,覆盖滚动视图的顶部。
titlebarAppearsTransparent
我在上面链接的 WWDC 视频中也讨论了该属性。
推荐阅读
- node.js - TypeORM MongoDB 填充
- python - ModuleNotFoundError:没有名为“的模块”
' - python - tweepy上的视频上传
- python - 生成行中没有 2 个零或 3 个 1 的二进制序列
- ruby-on-rails - 重定向到上一页但更改语言
- react-native - React Native:无法捕获抛出的错误
- flutter - 尝试在颤振的 youtube_extractor 中调用 group(0) 为 null
- swift - 共享 SwiftUI 视图的屏幕截图导致崩溃
- amazon-web-services - 如何降低 NAT 流量成本 - Lambda 和 SQS
- java - 出现未经授权的错误:凭据错误