У меня есть подкласс NSDocument с двумя NSWindowController, соответствующими 2 различным xib.
Следуя Руководству по применению на основе документов, я добавил следующее в мою реализацию document.m
- (void)makeWindowControllers
{
NSLog(@"in MakeWindowControllers");
MainWindowController *mainWindowController = [[MainWindowController alloc] init];
[mainWindowController autorelease];
[self addWindowController:mainWindowController];
csvWindowController = [[CSVWindowController alloc] init];
[csvWindowController autorelease];
[self addWindowController:csvWindowController];
}
Проблема в том, что я хочу, чтобы второй оконный контроллер csvWindowController изначально скрывал свое окно, позже я покажу тот же экземпляр окна.Для этого я написал:
@implementation CSVWindowController
- (id) init {
if ( ! (self = [super initWithWindowNibName:@"CSVWindow"]) ) {
NSLog(@"CSVWindowController init failed");
return nil;
}
window = [self window];
NSLog(@"CSVWindowController init");
[window orderOut:nil]; // to hide it
NSLog(@"CSVWindowController hiding the window");
return self;
}
Но окно там, показывает вверх.
Пожалуйста, не отмечайте, что VisibleAtLaunch не помечен, что консоль показывает мои сообщения правильно, и чтодаже если я изменю:
[window orderOut:nil]; // to hide it
to
[window orderOut:self]; // to hide it
Результат тот же, окно отображается.
Любая помощь приветствуется, спасибо:)