2012-08-24 4 views
6

Xcode에서 내 OS X 응용 프로그램을 실행하면 정상적으로 표시됩니다.창이 닫히면 창을 복원하지 않습니다.

창을 닫으면 예상대로 사라지고 응용 프로그램이 계속 독에 활성화 된 것처럼 보입니다.

위대한 방법입니다. 그러나 독을 클릭하여 창을 활성화하면 표시되지 않습니다.

아이디어가 있으십니까?

+0

어떻게 당신이 그것을 닫는 다음과 같이

것을 얻으려면, 당신은 applicationShouldHandleReopen:hasVisibleWindows:를 구현할 수있다? 숨기기 또는 최소화 대 애플 리케이션 종료? – ekims

답변

21

질문에 많은 정보는 없지만 앱이 단일 창 앱 (즉, NSDocument 기반이 아님)이라고 가정 해 보겠습니다.

이 시나리오의 일반적인 상황은 사용자가 창을 닫고 appliction이 Dock의 아이콘과 함께 계속 실행된다는 것입니다.

그런 상황에서 사용자는 일반적으로 Dock에서 아이콘을 클릭하여 앱을 활성화하면 다시 창이 나타나기를 원합니다. 빠른에 대한

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)visibleWindows 
{ 
    if (visibleWindows) { 
     [self.window orderFront:self]; 
    } 
    else { 
     [self.window makeKeyAndOrderFront:self]; 
    } 

    return YES; 
} 
+0

질문에 대한 정보가 부족하여 죄송합니다.이 시도를 알려주고 알려 드리겠습니다 .. 축하합니다. – theiOSDude

+1

티켓 감사합니다. @ Monolo - '닫을 때 출시'옵션이 IB에서 unticked임을 기억하고 충돌 호출이 발생합니다. 'makeKeyAndOrderFront' – theiOSDude

3

:

func applicationShouldHandleReopen(sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool { 
    if let window = sender.windows.first { 
     if flag { 
      window.orderFront(nil) 
     } else { 
      window.makeKeyAndOrderFront(nil) 
     } 
    } 

    return true 
} 
관련 문제