Я довольно новичок в какао, поэтому, пожалуйста, извините меня за любые глупые ошибки, которые я совершаю. У меня есть NSStatusItem, который я хочу использовать, чтобы открыть меню. Однако, насколько я знаю и слышал в разных формах, без специального представления вы ограничены только всплывающим меню. Это правда? И если да, то каким образом вы создаете пользовательский вид, чтобы что-то сделать (например, откройте окно в моем случае)? Спасибо за любую помощь.Как открыть окно при нажатии на NSStatusItem?
7
A
ответ
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: метод, чтобы гарантировать, что окно открытия не за окном какого-нибудь другого приложения.
Спасибо! Хорошо работает сейчас :) – Luke
Спасибо за ввод, я подвел итог этому в сообщении блога http://www.jademind.com/blog/posts/show-nswindow-below-your-nsstatusitem снова – anka