【问题标题】:Magnetic NSWindows磁性 NSWindows
【发布时间】:2012-09-30 18:20:13
【问题描述】:

我正在尝试让两个 NSWindows 一起移动(NSWindows 相互连接)。通过使用

- (void)windowDidMove:(NSNotification *)notification

但是这种方法很懒惰,并且无法实时运行。覆盖 setFrameOrigin 和其他 setFrame 方法也不起作用。 我想知道最好的方法是什么? 对于不同方法的任何建议,我将不胜感激。

【问题讨论】:

  • 查看子窗口的概念 - 这似乎是您正在寻找的。​​span>
  • 谢谢,它成功了。请将此作为答案发布。

标签: objective-c cocoa frame nswindow nswindowcontroller


【解决方案1】:

子窗口似乎最适合您的情况。

它们很容易实现,并且通过NSWindow-addChildWindow:ordered: 方法完成。参考资料解释得很好,所以我将在这里复制:

childWindow 添加为窗口的子窗口后, 保持在 orderingMode 指示的相对位置 涉及任一窗口的后续排序操作。虽然这 附件处于活动状态,移动 childWindow 不会导致窗口 移动(如将抽屉滑入或滑出),但移动窗口会 导致 childWindow 移动。

本质上,当你移动父窗口时,子窗口也会随之移动,而无需额外的代码。听起来像你想要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多