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