如何找到 NSScrollView 的 documentView 中不在 window 工具栏下方的部分?

How do I find the part of a NSScrollView's documentView that's not beneath a window's toolbar?

我有一个非常简单的设置。它是一个带有工具栏的 window,完全充满了 NSScrollView。 window 设置如下:

window.styleMask = [.titled, .resizable, .closable, .fullSizeContentView]
window.titleVisibility = .hidden

这看起来很漂亮!但是,我需要更改文档视图的内容在其框架更改时的行为方式。问题是 docuentView.visibleRect 报告 minY0.0,直到它到达 window 的顶部,而不是工具栏的底部!所以我的一些自定义绘图和行为被砍掉了,那就不是那么华丽了。

如何找到该文档视图的实际可用矩形,它不包括工具栏下方的部分?

window 上有一个名为 contentLayoutRect 的 属性,它表示 window 内容中可见的部分(使用非翻转坐标)。您可以使用它来定位内容视图,请放心,如果 Apple 决定 window 的其他边缘变得模糊,这仍然有效。