2016-12-08 7 views
0

꽤 간단한 아이디어는 여기에 있습니다. 모든 NSWindows를 앱에 표시하고 싶습니다. 앱에 두 개의 창이 있고, 다른 하나는 숨겨져 있고 다른 하나는 흐릿한 아이디어입니다. 앱의 모든 창을 표시 한 다음 숨기려고합니다. 내가 숨기고 싶은 창을 숨길 수는 있지만 그 창에 대한 참조를 얻을 수 없기 때문에 창을 보여줄 수 없다. 내가 사용할 수있는 [NSApp 창] 그러나 작동하지 않습니다모두 표시 NSWindows

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

를 사용하려고도하지 어쨌든 응용 프로그램의 모든 nswindows 다음을 반복하고 또는 유사한 무언가를 숨기고 목록을 가져 오는이 있습니다 :

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

제안 사항?

+0

xib 파일이 있는지 또는 창을 제어 할 창 컨트롤러 +보기 컨트롤러가 있는지에 따라 달라집니다. 또한 xib 파일이나 스토리 보드가 여러 개 있는지 여부가 명확하지 않습니다. –

+0

두 개의 nswindows가 포함 된 단일 nib 파일 (xcode 2.5)을 사용합니다. – Jobalisk

+0

나는 windowArray가 실제로 xib 파일의 모든 기존 윈도우에 대한 참조를 포함한다고 가정합니다. 그렇다면 다음과 같은 것이 될 수 없습니다. (NSWindow * in windowArray) { [win setIsVisible = YES]; } ? Objective-C를 더 이상 쓰지 않기 때문에 직접 테스트하지 않을 것입니다. –

답변

0

뒤늦게 나는 바보 같았다. 나는 각각 하나의 윈도우를 실행하는 두 개의 침투 속도 컨트롤러 객체를 가지고있다. 하나는 그 안의 뷰가 다른 객체에 의해 처리 되었기 때문에 아무 것도하지 않았습니다. 그래서 저는 그 객체를 제거하고 첫 번째 컨트롤러 객체로 두 윈도우를 처리했습니다. 문제 해결됨.