Как я открываю NSWindow, и окно выбрали и в фокусе?

Я пытаюсь открыть NSWindow с помощью следующего кода:

NSWindowController *window = [[NSWindowController alloc] initWithWindowNibName:@"MainWindow"];
[window showWindow:nil];

Окно открывается хорошо, но предыдущее окно является все еще mainWindow и в фокусе. Я попробовал следующий код для принуждения главного окна, и это не работает. Окно все еще имеет отключенную строку заголовка и не принимает ключевые события и т.д.

[self.window makeKeyAndOrderFront:self];
[self.window makeMainWindow];

Единственным путем я, кажется, могу заставить предыдущее окно проигрывать, фокус - то, если я закрываю окно после вызова showWindow: с [[NSApp mainWindow] близко];

Какие-либо идеи?

13
задан Luke 12 May 2010 в 10:02
поделиться

2 ответа

makeKeyAndOrderFront: является способом. Вы уверены, что self.window и window ссылаются на один и тот же объект?

13
ответ дан 1 December 2019 в 22:38
поделиться

Я решил проблему, назначив WindowController владельцу файла пера вместо того, чтобы иметь отдельный объект NSWindowController внутри пера.

8
ответ дан 1 December 2019 в 22:38
поделиться