2011-03-26 2 views
7

Я довольно новичок в какао, поэтому, пожалуйста, извините меня за любые глупые ошибки, которые я совершаю. У меня есть NSStatusItem, который я хочу использовать, чтобы открыть меню. Однако, насколько я знаю и слышал в разных формах, без специального представления вы ограничены только всплывающим меню. Это правда? И если да, то каким образом вы создаете пользовательский вид, чтобы что-то сделать (например, откройте окно в моем случае)? Спасибо за любую помощь.Как открыть окно при нажатии на NSStatusItem?

ответ

14

Нет, это неправда. Вам нужно настроить цель и действие для элемента статуса, чтобы вызвать метод, который делает то, что вы хотите (открывает окно).

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

Вы также можете позвонить [NSApp activateIgnoringOtherApps:nil]; к вашему OpenWindow: метод, чтобы гарантировать, что окно открытия не за окном какого-нибудь другого приложения.

+0

Спасибо! Хорошо работает сейчас :) – Luke

+1

Спасибо за ввод, я подвел итог этому в сообщении блога http://www.jademind.com/blog/posts/show-nswindow-below-your-nsstatusitem снова – anka

 Смежные вопросы

  • Нет связанных вопросов^_^