控制位置:使用2个NSWINdowController实例的2个XIB

时间:2012-03-24 06:34:01

标签: objective-c cocoa nswindowcontroller

我正在开发用于控制望远镜的电机聚焦器的代码。一次可以连接一个或两个(不同的USB产品ID)。我的代码确定了多少和实例1或2 NSWindowController对象。每个NSWindowController使用initWithWindowNibName:通过2个单独的XIB生成略有不同的窗口。

我使用IB和setFrameTopLeftPoint:来控制两个窗口的位置。

windowDidLoad期间,两个窗口都出现在指定的位置,但是一旦代码移动到完成,第二个窗口将移动到第一个窗口的顶部。无论我在代码完成时放置第一个窗口,第二个窗口都会平铺在它上面。

任何人都可以帮助确保第二个窗口出现在正确的位置吗?

谢谢

代码提取(DCWindowController是我的NSWindowController类):

firstController=[[DCWindowController alloc] initWithWindowNibName:@"DCWindow"];  
[firstController showWindow:self];

secondController=[[DCWindowController alloc] initWithWindowNibName:@"DC2Window"];
[secondController showWindow:self];

1 个答案:

答案 0 :(得分:2)

您需要使用setShouldCascadeWindows:关闭级联。