Технические вопросы и ответы QA1552

Включение пункта меню «Preferences» меню приложения на Mac OS X

Q: Как я включаю пункт меню «Preferences» меню приложения на Mac OS X?

A: Как я включаю пункт меню «Preferences» меню приложения на Mac OS X?

Для пункта меню «Preferences», который будет включен в приложении Какао, необходимо установить механизм целевого действия или коммуникацию между NSMenuItem и Ваш объект контроллера.

Чтобы включить этому пункту меню, двум условиям нужно удовлетворить:

Если Вы не удовлетворите обоим условиям, то элемент Меню свойства останется отключенным.

Определите метод действия

Действие является сообщением Ваш NSMenuItem отправляет к цели или, с точки зрения цели, метод, который это реализует для ответа на действие. Необходимо объявить этот метод в.h заголовочном файле и реализовать его в.m исходном файле.

  Метод действия перечисления 1 В качестве примера

-(IBAction)openPreferences:(id)sender { }

Соединение действия Target набора

Используя интерфейсного разработчика

  Соединение рисунка 1 NSMenuItem к Вашему IBAction метод: управление перетаскивает от пункта меню до Вашего объекта.

Используя код

Несмотря на то, что использование Интерфейсного Разработчика является прямым путем, можно сделать ту же вещь с помощью кода.

Перечисление 2  , Ставящее цель и действие с кодом.

NSMenu *menu = [[[[NSApplication sharedApplication] mainMenu] itemAtIndex:0] submenu]; 
NSString *prefsTitle = [NSString stringWithFormat:@"Preferences%C", (unichar)0x2026];
NSMenuItem *prefsMenuItem = [menu itemWithTitle:prefsTitle];
if (prefsMenuItem)
{
    [prefsMenuItem setTarget:self];
    [prefsMenuItem setAction:@selector(openPreferences:)];
}

Связанная документация



История версии документа


ДатаПримечания
21.01.2008

Новый документ, описывающий эти две вещи, которые необходимо реализовать для включения пункта меню «Preferences» на Mac OS X.