2016-12-08 5 views
0

Довольно простая идея здесь, я хочу показать все NSWindows в приложении. Идея состоит в том, что в приложении есть два окна, один из которых скрыт, другой - vissable. Я хочу показать все окна в приложении, а затем скрыть его. Я могу скрыть окно, которое я хочу скрыть, но я не могу показать окна, потому что я не могу получить ссылку на него. есть в любом случае получение списка всех nswindows в приложении затем перебор через него, и скрывающиеся их или что-то подобное, я могу использовать [NSApp окно], однако пытается использоватьПоказать все NSWindows

NSArray *windowArray = [NSApp windows]; 
[windowArray[0] makeKeyAndOrderFront:self]; 
[NSApp activateIgnoringOtherApps:YES]; 

не работает, не делает:

NSArray *windowArray = [NSApp windows]; 
NSWindow *tempWindow = windowArray[0]; 
[tempWindow makeKeyAndOrderFront:self]; 
[NSApp activateIgnoringOtherApps:YES]; 

любые предложения?

+0

Это зависит от того, есть ли у вас xib-файлы или контроллеры окон + контроллеры просмотра для размещения окон. Также неясно, есть ли у вас несколько xib-файлов или раскадровки. –

+0

его использование одного файла nib (это xcode 2.5) с двумя nswindows в нем – Jobalisk

+0

Я только предполагаю, что windowArray действительно содержит ссылки на все существующие окна вашего xib-файла. Тогда не должно быть что-то вроде (NSWindow * win in windowArray) { [win setIsVisible = YES]; } ? Я не буду тестировать его сам, так как я больше не пишу Objective-C. –

ответ

0

Оглядываясь назад, я был немного глуп. У меня было два объекта контроллера скорости просачивания, каждый из которых выполнял одно окно. Один из них почти ничего не делал, так как вид внутри него обрабатывался другим объектом, поэтому я просто удалил его и сделал первый объект контроллера заботой обо всех окнах. Задача решена.

Смежные вопросы