0

望遠鏡のモーターフォーカサーを制御するコードを開発しています。一度に1つまたは2つ(異なるUSB productID)を接続できます。私のコードは、1つまたは2つNSWindowControllerのオブジェクトの数とインスタンスを識別します。それぞれNSWindowControllerが、を使用して2つの別々のXIBを介してわずかに異なるウィンドウを生成しinitWithWindowNibName:ます。

私はIBを使用setFrameTopLeftPoint:して、両方のウィンドウの位置を制御しました。

両方のウィンドウが割り当てられた位置にwindowDidLoad表示されますが、コードが完了すると、2番目のウィンドウが最初のウィンドウの上に並べて表示されます。コードの完了時に最初のウィンドウを配置すると、2番目のウィンドウがその上に並べて表示されます。

誰かが2番目のウィンドウが正しい位置に表示されることを確認するのを手伝ってもらえますか?

ありがとうございました

コード抽出(DCWindowController私のNSWindowControllerクラスです):

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

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

1 に答える 1

2

setShouldCascadeWindowsを使用してカスケードをオフにする必要があります。

于 2012-03-24T19:24:04.147 に答える