通过拖动背景移动 window (movableByWindowBackground)

Move window by dragging background (movableByWindowBackground)

我有一个 window,我希望用户能够通过拖动 window 内容(不仅仅是标题栏)中的任意位置来移动它。我知道这可以通过 NSWindow movableByWindowBackground 方法来完成,但是它本身似乎不起作用。

gather 可能需要覆盖 NSView mouseDownCanMoveWindow。但是我不能轻易地对所有 parent 视图(拆分视图等)执行此操作。使它成为有纹理的 window 并没有帮助。毫不奇怪,子类化 NSWindow 以覆盖 isMovableByWindowBackground 也没有帮助。

是否真的有必要对 window 中的所有 parent 视图进行子类化才能使其工作?

在 OS X 10.11 上,将 NSWindow 的 属性 movableByWindowBackground 设置为 YES 有效。

不再需要为此行为进行子类化。

在 NSSplitView 中添加:

override var mouseDownCanMoveWindow: Bool {
    return true
}