2013-09-22 4 views
3

Mac Dock documentation에 따르면 "The Dock은 왼쪽에 응용 프로그램을 유지하고 Stacks와 최소화 된 창은 오른쪽에 유지합니다. 자세히 보면 수직 구분선이 나타납니다."Mac OS X Dock : 프로그래밍 방식으로 응용 프로그램의 기본 아이콘이 아닌 최소화 된 아이콘으로 응용 프로그램을 최대화하는 방법은 무엇입니까?

의미가 있으면 응용 프로그램이 최소화되면 오른쪽에 새 도크 아이콘이 표시되므로 응용 프로그램을 최대화하려면 해당 아이콘을 클릭해야합니다.

그러나 Chrome 및 Finder와 같은 애플리케이션의 동작 방식이 다릅니다. LEFT 아이콘 ('기본'애플리케이션 아이콘)을 클릭하면 애플리케이션도 극대화됩니다!

나는 내 자신의 Mac 응용 프로그램을 만들었고 Chrome처럼 작동하게하고 싶습니다. 왼쪽 또는 오른쪽 독 아이콘을 클릭하면 최대화됩니다. 프로그래밍 방식으로을 어떻게 처리 할 수 ​​있습니까?

[도크 스크린 샷을 첨부하고 있습니다. 크롬 옆에있는 "기본"아이콘과 "최소화 된"아이콘을 볼 수 있습니다. 두 아이콘이 모두 반응하고 창이 최대화됩니다. attaching 다른 응용 프로그램 (TextEdit 및 XCode에서 프로그래밍 한 응용 프로그램) : 최소화 된 아이콘 만 최대화합니다. "주"아이콘은 아무 작업도 수행하지 않습니다.]

두 아이콘을 모두 프로그래밍 방식으로 최대화 할 수 있습니까?

감사합니다. 도크 아이콘

Nili

+1

에서 최소화 된 창을 열기 위해 applicationShouldHandleReopen을 구현해야합니까? 그것들은 실제로는 반대가 아니기 때문에. 최대화는 창의 크기를 변경합니다. (또한 창과 응용 프로그램을 병합하지 않도록주의하십시오 : 창 최소화 및/또는 최대화 할 수 있으므로 응용 프로그램에 아무 것도 할 수 없습니다.) –

답변

2

는 "최소화"의 반대로 "극대화"사용하고있는 "기본"아이콘

- (BOOL)applicationShouldHandleReopen:(NSApplication *) __unused theApplication hasVisibleWindows:(BOOL)flag 
{ 
    if (!flag){ 
     [[self window] makeKeyAndOrderFront:self]; 
    } 
    return YES; 
} 
0

클릭하면 호출

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag 

이 메시지 핸들러에서 창을 다시 엽니 다.

응용 프로그램 대리인에게 전송되며 NSApplicationDelegate 프로토콜의 일부입니다.

+0

"주"아이콘을 클릭하면 이러한 메서드가 호출되지 않습니다 .-( – Nili

+0

죄송합니다. 잘못된 방법을 붙여 넣었습니다. 아래의 답변이 도움이 될 것입니다. –