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