2011-11-16 7 views
5

나는 상태 메뉴 응용 프로그램에 "숨기기"메뉴 항목이 있습니다.OSX : 상태 표시 줄 항목을 "숨김 해제"하는 방법?

은 클릭 "숨기기"호출

물론 여전히 실행중인 경우에도 상태 표시 줄에서 내 응용 프로그램을 제거
[[NSStatusBar systemStatusBar] removeStatusItem:statusItem] 

.

사용자가 응용 프로그램 폴더에서 내 응용 프로그램을 "열"때 응용 프로그램을 시스템 상태 표시 줄에 다시 추가하려고합니다. 문제는 응용 프로그램이 이미 열려 있기 때문에 "ApplicationDidFinishLaunching"내부에서이를 수행 할 코드 조각을 삽입 할 수 없다는 것입니다. 그래서 내가 무엇을해야하니?

+0

이 게시물에 도움을합니까 : http://stackoverflow.com/questions/843379/how-do-you-toggle-the-status-item-in -the-menubar-on-off-using-a-checkbox – petert

답변

2

-applicationDidBecomeActive:을 사용할 수 있지만 숨겨진 후에 응용 프로그램이 활성화되고 사용자가 숨기지 않고 다른 응용 프로그램으로 전환 한 후에 응용 프로그램이 활성화 된 경우를 구별해야합니다.

+0

감사합니다. 그것은 작동합니다 :) – hollow7

0

프로그래밍 방식으로 상태 항목을 초기화 할 수 없습니까? 보이는이도 아래 applicationDidFinishLaunching 밖에서 나를 위해 일 :

// Install status item into the menu bar 
myStatusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength]; 
NSImage *statusImage = [NSImage imageNamed:@"Status.png"]; 
[myStatusItem setImage:statusImage]; 
NSImage *altStatusImage = [NSImage imageNamed:@"StatusHighlighted"]; 
[myStatusItem setAlternateImage:altStatusImage]; 
[myStatusItem setHighlightMode:YES]; 
[myStatusItem setMenu:self.myStatusMenu]; 
[self.myStatusMenuItem setTitle:@"Show"];