提问人:Vicente Garcia 提问时间:10/1/2023 更新时间:10/1/2023 访问量:99
NSView 在 macOS 14 上停止剪裁到边界
NSView stopped clipping to bounds on macOS 14
问:
在最新的 Xcode 上构建时,我有一个 macOS 应用程序,并且在 UI 的许多元素上进行测试似乎是错误的。AppKit
Xcode 15
macOS 14
乍一看,似乎他们的视图在用来做的时候停止了剪裁到边界,因为在某些情况下,我依靠这种行为来显示/隐藏工具栏中的按钮。
答:
1赞
Vicente Garcia
10/1/2023
#1
裁剪到边界
从 macOS 14 和 Xcode 15 开始有一个新属性:clipsToBounds,类似于 for 上的属性,但不同的是,在 NSView 上以前没有这样的东西。NSView
UIView
iOS
即使文档说这是可用的,因为我确信几个月前不存在,而且行为也会发生变化。macOS 10.9+
从文档中:
默认情况下,此值为 false。在 macOS 13 及更低版本中,默认 value 为 true。
不确定这是否在 WWDC 上涵盖,我只是忽略了更新,但我可以预测这将破坏许多应用程序。AppKit
修复它并采用旧行为很简单:
myNSView.clipsToBounds = true
评论
0赞
Willeke
10/1/2023
clipsToBounds
是 macOS 13 SDK 中的私有属性。
2赞
Willeke
10/1/2023
请参阅 macOS 14 的 AppKit 发行说明“对于链接到 macOS 14 SDK 的应用程序,此属性的默认值为 false。链接到旧版 SDK 的应用默认为 true。
评论