понеділок, 10 березня 2014 р.

StatusBar приложение

Простой пример приложения которое имеет свое меню в статус баре OS X.

Создадим новый проект в 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, то у нас будет вместо надписи в статус баре только иконка. Иконка должна быть соотвествующих размеров как для обычных экранов так и для ретина-экранов.

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments