カスタム NSWindowController をモーダル ウィンドウとして実行しています。
まず、次のように示します。
ProgressWindow *pWin = [[ProgressWindow alloc] initWithWindowNibName:@"ProgressWindow" andXmlContent:nil];
[NSApp runModalForWindow:[pWin window]];
そして、ProgressWindow の NSWindowController 内からそれを却下したいと考えています。そのために、windowDidLoad 関数に次のコードを設定します (テストのためだけに):
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:2]];
[self testMethod];
予想どおり、2 秒後に testMethod が呼び出されます。メソッドはモーダル ウィンドウを閉じる必要がありますが、それを行う方法が見つからないようです。、、、シート[NSApp stopModal]
にして呼び出してみましたが、何もうまくいかないようです。何も起こらないか、ウィンドウが別の場所で再び開きます。なぜこれが起こっているのかわかりません。初期化コードは一度だけ呼び出されます。[NSApp abortModal]
[self close]
[self.window orderOut:nil];[NSApp endSheet:self.window];
閉め方わかる人いますか???