2014-09-26 3 views
0

내가 엑스 코드 (6) 및 목적 C.어떻게 응용 프로그램을 시작한 후 X

를 사용하여 맥 OS X 응용 프로그램을 쓰고 있어요을 누른 후 창을 표시하고 X를 눌러 창은 숨겨집니다. 도킹 스테이션의 App-Symbol (Safari와 같은)을 클릭하여 창을 표시하는 방법이 있습니까?

답변

1

"X"를 클릭하거나 점을 닫으면 창은 닫히고 루트 창이면 응용 프로그램이 닫힙니다. 당신이 "X"또는 가까운 점을 클릭에 숨기려면 그럼 당신은 아래에 사용할 수 있습니다 - 우리라는 OS가 응용 프로그램을 잘하는 특정 시간 이후에 다음의 OS X 응용 프로그램을 숨길 때

//Called when clicked close option on window 
- (BOOL)applicationShouldTerminateAfterLastWindowClosed: (NSApplication *) theApplication 
{ 
    [[NSApplication sharedApplication] hide:self]; 
    return NO; 
} 

//Called when you tap app icon on dock. 
-(BOOL)applicationShouldHandleReopen:(NSApplication *)sender hasVisibleWindows:(BOOL)flag{ 
    [[self.mainWindowController window] makeKeyAndOrderFront:self]; 
    return YES; 
} 

그러나 기억 NSAppNap이 실행되고 백그라운드 작업이 지연되거나 OS가 일괄 처리 양식으로 해당 작업을 수행합니다.

+0

위대한 코드 예제와 좋은 설명에 감사드립니다. 내가 기대했던 것처럼 완벽하게 작동한다. – Vinh

1

사용자가 "X"(또는 빨간색 "닫기"점)를 클릭하면 실제로 창을 완전히 닫고 숨기지 않습니다.

창이 다시 나타나게하려면 (ARC 덕분에 메모리가 아직 해제되어 있지 않은 것으로 가정) "showWindow" on the window controller해야합니다. 도크 아이콘을 클릭하면 클릭되는 도킹 아이콘을 잡는 가장 좋은 장소는 NSApplicationDelegate's "applicationDidBecomeActive:" notification 일 수 있습니다.

+0

첫 번째 주석은 진부하지 않습니다. 왜냐하면 나는 여전히 독에서 응용 프로그램 아이콘을 볼 수 있기 때문입니다. "X"를 누른 후 왜 완전히 닫히고 도킹 아이콘에 앱 아이콘을 유지합니까? walle84의 답은 실제로 그것을 해결합니다. – Vinh

관련 문제