磁性NSWindows

时间:2012-09-30 18:20:13

标签: objective-c cocoa frame nswindow nswindowcontroller

我正试图让两个NSWindows一起移动(NSWindows彼此相连)。使用

- (void)windowDidMove:(NSNotification *)notification

但是这种方法很懒惰而且不能正常工作。覆盖setFrameOrigin和其他setFrame方法也不起作用。 我想知道最好的方法是什么? 我会感谢任何采用不同方法的建议。

1 个答案:

答案 0 :(得分:1)

儿童Windows似乎最适合您的情况。

它们很容易实现,并且通过NSWindow的{​​{3}}方法完成。该参考文献解释得很好,所以我只想复制一下:

  

将childWindow添加为窗口的子窗口后,它就是   保持在ordersMode指示的相对位置   后续订购操作涉及任一窗口。虽然这个   附件是活动的,移动childWindow不会导致窗口   移动(如滑入或滑出抽屉),但移动窗口将   导致childWindow移动。

实际上,当您移动父窗口时,子窗口将随之移动而无需其他代码。听起来像你想要的。