swift - macOS 窗口叠加效果错误?
问题描述
编辑:我仍然没有得到这个工作。有人介意下载我的简单测试项目并在他们的机器上尝试吗?只有样板代码和故事板。
https://www.dropbox.com/sh/qtoqhi7pjq5w3hh/AADLCTY_7FPG18RWeSe57Jroa?dl=0
原始问题:我正在为 Big Sur 开发一个 macOS 应用程序。我想利用窗口栏对我的内容的模糊效果。我已经fullSizeContentView
在窗户上设置了面具。但是,只有在滚动视图的前沿和其父视图的前沿之间设置了最小间距时,我才能获得效果。这似乎是 AppKit 中的一个错误。谁能确认或告诉我我做错了什么?
见下面的剪辑: 首先我有一个简单的 Xcode 项目(没有代码,只是使用情节提要)。滚动视图是在视图控制器的内容视图中设置的。滚动视图的顶部、尾部和底部边缘与其父视图没有间距。前缘与其父视图的前缘有标准间距(20pt)。
解决方案
更新:似乎这个“问题”已在 macOS 12 beta 5 中得到修复。
下面的代码可能对 macOS 11 仍然有用。
如今,macOS 充斥着一些奇怪的小“问题”,这似乎就是其中之一。在大多数情况下,这些问题只能通过应用奇怪的解决方案来解决,因为我们无法访问 AppKit 的内部部分。
if let constraint = view.constraints.first(where: { $0.firstAttribute == .leading }) {
constraint.constant = -0.3
}
应用一个小的负领先约束似乎现在可以解决这个问题。可以在代码中完成,理论上也可以在 Storyboard 中完成,尽管在界面设计器中很难输入和存储十进制值。
推荐阅读
- r - 为什么 R 函数 as.character 应用于列表时会自动生成换行符(\n)?
- python - 熊猫:比较组内的所有行并检查条件是否满足
- node.js - AssertionError:预期存根已使用参数 201 调用
- c# - 使用 c# 在每个印地语单词之前和之后设置括号
- python - 使用 Python 操作 MySQL 数据库时出现 1064 错误
- php - 卷曲在系统上工作但不在 laravel 项目中
- c++ - 原型函数不是返回我想要主函数的值;发生了什么?
- c# - .Net Core 控制台应用程序引用项目 FileNotFound 错误
- excel - 使光标在按 Enter 时跳转到同一行、不同列,有其他特定要求
- sql-server - 查找每组所有跳过的号码