Pergunta

Estou tentando abrir uma NSWIDOW usando o seguinte código:

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

A janela abre ok, mas a janela anterior ainda é a MainWindow e em foco. Eu tentei o código a seguir para forçar a janela principal e não funciona. A janela ainda tem uma barra de título desativada e não está aceitando eventos importantes etc.

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

A única maneira de conseguir conseguir que a janela anterior perdesse o foco é se eu fechar a janela depois de ligar para o ShowWindow: com [[NSAPP MainWindow] Close];

Alguma ideia?

Foi útil?

Solução

makeKeyAndOrderFront: é o caminho a percorrer. Você está certo disto self.window e window consulte o mesmo objeto?

Outras dicas

Resolvi o problema atribuindo o WindowsController ao proprietário do arquivo NIB, em vez de ter um objeto NSWIDOWController separado dentro da ponta.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top