2011-03-26 30 views
7

Kakaoya oldukça yeni geldim, bu yüzden lütfen yaptığım aptal hatalardan dolayı özür dilerim. Bir menüyü açmak için kullanmak istediğim bir NSStatusItem var. Ancak, farklı formlarda bildiğim ve duyduğum kadarıyla, özel bir görünüm olmadan sadece bir açılır menüyle sınırlanmışsınız. Bu doğru mu? Ve eğer öyleyse nasıl bir şey yapmak için özel bir görünüm hazırlıyorsunuz (örneğin, benim durumumda bir pencere aç)? Herhangi bir yardım için teşekkürler.NSStatusItem üzerinde nasıl bir pencere açılır?

cevap

14

Hayır, bu doğru değil. İstediğiniz şeyi yapan bir yöntemi çağırmak için durum öğesinin hedefini ve eylemini ayarlamanız gerekir (pencereyi açar). Açmak pencere başka uygulamanın penceresinin arkasında olmadığından emin olmak için yöntemin:

// This goes where you set up the status item 
NSStatusItem *statusItem; // You need to get this from the status bar 
[statusItem setTarget:self]; 
[statusItem setAction:@selector(openWindow:)]; 

// This method is called when the status item is clicked 
- (void)openWindow:(id)sender { 
    NSWindow *window = [self window]; // Get the window to open 
    [window makeKeyAndOrderFront:nil]; 
} 

Ayrıca OpenWindow için [NSApp activateIgnoringOtherApps:nil]; çağırmak isteyebilirsiniz.

+0

Teşekkürler! Şimdi mükemmel çalışıyor :) – Luke

+1

Giriş için teşekkürler, bunu bir blog gönderisinde özetledim http://www.jademind.com/blog/posts/show-nswindow-below-your-nsstatusitem tekrar – anka