2011-11-16 12 views
5

Tamam "Gizle" menü öğesine sahip bir durum menüsü uygulamasına sahibim.OSX: Bir durum çubuğu öğesini "nasıl gösterir"?

tıklandığında "Hide" olarak adlandırdığı:

elbette hala çalışıyor olsa bile durum çubuğundan başvurumu kaldırır
[[NSStatusBar systemStatusBar] removeStatusItem:statusItem] 

.

Uygulamamın, uygulamayı Uygulamalar klasöründe "açtığımda" sistem durum çubuğuna yeniden eklenmesini istiyorum. Sorun, uygulama zaten açık olduğu için bunu "ApplicationDidFinishLaunching" içinde yapmak için kod parçasını ekleyemem. Peki ne yapmalıyım?

+0

Bu yazı yardımcı olur mu: http://stackoverflow.com/questions/843379/how-do-you-toggle-the-status-item-in -doktor-on-ve-off-a-onay kutusu – petert

cevap

2

-applicationDidBecomeActive:'u kullanabilirsiniz, ancak uygulamanın gizlendikten sonra etkin olduğu durumlar arasında ayrım yapmanız gerekir ve kullanıcı sizinkini saklamadan farklı bir uygulamaya geçtikten sonra etkin hale gelir.

+0

teşekkür ederim. işe yarıyor :) – hollow7

0

Bu durumu programlı olarak başlatılamıyor musunuz? görünüyor Bu bile applicationDidFinishLaunching dışında, benim için çalışmak:

// 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"];