それを閉じてフォーカスを設定した後、再度ウィンドウを表示する

私は2つの短い質問があります:

  1. ウィンドウを閉じた後、ウィンドウを再オープンする方法は?
  2. 私が開いているウィンドウにどのように焦点を当てるのですか?

誰かが私を助けることができればいいですね!

ここに私がこれまで持っているソースコードがありますが、私はどのように進むべきかわかりません:

WindowControllerを呼び出すメソッド:

- (IBAction)openPreferences:(id)sender 
{
[NSApp activateIgnoringOtherApps:YES];

if (NULL == preferences) 
{
    preferences = [[PreferencesController alloc] initWithWindowNibName:@"Preferences"];
}
[preferences showPreferenceWindow];
}

これはPreferencesControllerのヘッダです:

#import 

@interface PreferencesController : NSWindowController 
- (void)showPreferenceWindow;
@end

これがPreferencesControllerのメインです:

 #import "PreferencesController"

 @interface PreferencesController()
 @end

 @implementation PreferencesController

 - (void)windowWillClose:(NSNotification *)notification
 {

 }

//display the preference window
 - (void)showPreferenceWindow
 {
     [self.window makeKeyAndOrderFront:NSApp];

    //TODO: window should be focused and if the user press the close button it should be displayed again
 }

 - (void) dealloc
 {
    [super dealloc];
 }

 @end
ベストアンサー

NSWindowには、この便利なメソッド -
(void)setReleasedWhenClosed:(BOOL)releasedWhenClosed

があります。それをNOに設定すると、ウィンドウは無制限に開くことができます。あなたの焦点の問題について:それはすでにあなたのウィンドウに焦点を当てるために働いているはずです。

しかし、あなたが環境設定ウィンドウを使用しているので、私は DBPrefsWindowController
それはかなり古くなっていますが、それでも今日は動作しています。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です