Создадим новый проект в Xcode. Перейдем в Interface Builder и добавим до нашего созданного окна "меню" (Выберем в списке контролов интерфейса Menu и положим где-то рядом с окном.
Отредактируем элементы списка меню:
- Показать окно;
- Выход.
В AppDelegate.h добавим следующие строки:
IBOutlet NSMenu *statusBarMenu; NSStatusItem *statusBarItem; - (IBAction)showWindow:(id)sender; - (IBAction)quitApp:(id)sender;Соединим наш оутлет NSMenu с нашим добавленным меню. Наши экшены с соответствующими элементами меню.
В AppDelegate.m в методе awakeFromNib напишем следующий код:
statusBarItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength]; [statusBarItem setMenu:statusBarMenu]; [statusBarItem setTitle:@"МоеМеню"]; [statusBarItem setHighlightMode:YES];В экшене showWindow пишем следующее:
[NSApp activateIgnoringOtherApps:YES]; [_window makeKeyAndOrderFront:nil];Код будет показывать нам наше скрытое приложение, будь оно свернуто или закрыто.
В экшене quitApp пишем:
[NSApp terminate:nil];Ну вот и все.
Также можно добавить иконку к нашему меню. Если убрать setTitle, то у нас будет вместо надписи в статус баре только иконка. Иконка должна быть соотвествующих размеров как для обычных экранов так и для ретина-экранов.
Немає коментарів:
Дописати коментар