Mac OS X showWindow проблема: NSWindow появляется только один раз - PullRequest
3 голосов
/ 06 сентября 2011

У меня есть программа Mac OS X, видимая только в строке состояния, которая должна отображать окно настроек. У меня есть этот IBAction:

- (IBAction)showPreferences:(id)sender {
    [self.preferencesWindowController showWindow:self];
    [[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
}

В приложении DidFinish Lauching у меня есть:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    // Load the app's preferences window (but does not display it)
    self.preferencesWindowController = [[PreferencesWindowController alloc] initWithWindowNibName:@"PreferencesWindowController"];

    [...]

}

Заголовок класса:

#import <Cocoa/Cocoa.h>
#import "AppPref.h"


@interface PreferencesWindowController : NSWindowController {
}

@end

Проблема в том, что окно настроек отображается только один раз. Когда я закрою его, он больше никогда не появится.

В чем может быть проблема?

1 Ответ

2 голосов
/ 06 сентября 2011

Вы должны изменить свойства окна, чтобы оно не разрушалось при закрытии.Вы можете сделать это в Интерфейсном Разработчике.

В качестве альтернативы, я рекомендую загрузить перо из метода -showPreferences:.Загрузка пера в методе -applicationDidFinishLaunching: замедлит время запуска вашего приложения без пользы для пользователя или вашего кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...