NSWindowController - получать уведомления до того, как будет показано окно?

У меня есть окно, содержащееся в файле пера, который загружается пользовательским подклассом NSWindowController как это:

- (id)init
{
    self = [super initWithWindowNibName:@"MyWindow"];

    return self;
}

Я хотел бы инициализировать представления в этом окне, прежде чем оно станет видимым. Сейчас я читаю некоторые пользовательские настройки по умолчанию и настраиваю вид окна в windowDidLoad, Но, к сожалению, вновь инициализированные значения применяются только после того, как окно стало видимым, в результате чего неинициализированные значения очень быстро мигают.

windowWillLoad не работает, так как окно еще не было загружено из файла пера в этот момент.

Как я могу инициализировать окно перед его отображением?

2 ответа

Решение

- (void)awakeFromNib это очень хорошее место для настройки просмотра. Он вызывается после того, как все объекты были удалены из архива и подключены торговые точки.

Больше информации в документации

Вы могли бы сделать свой собственный showWindow метод.

- (IBAction)showWindow:(id)sender
{
    // do whatever initialization 
    // or window UI setup you 
    // need to do right here
    [super showWindow: sender];
}
Другие вопросы по тегам