Использование методов класса NSMenu
«`objc
NSMenu menu = [[NSMenu alloc] initWithTitle:@»Example»];
// Создать пункт меню
NSMenuItem item = [[NSMenuItem alloc] initWithTitle:@»Пункт меню» action:@selector(menuItemClick:) keyEquivalent:@»»];
// Добавить пункт в меню
[menu addItem:item];
// Отобразить меню
[NSMenu popUpContextMenu:menu withEvent:[NSApp currentEvent] forView:targetView];
«`
Использование системного меню
«`objc
NSMenu menu = [[NSMenu alloc] init];
// Создать пункт меню
NSMenuItem item = [[NSMenuItem alloc] initWithTitle:@»Пункт меню» action:@selector(menuItemClick:) keyEquivalent:@»»];
// Добавить пункт в меню
[menu addItem:item];
// Связать меню с видом
[[targetView menu] setMenu:menu];
«`
Методы обратного вызова
«`objc
— (void)menuItemClick:(NSMenuItem )item {
// Действия при нажатии на пункт меню
}
«`
Дополнительные возможности
Использование класса `NSMenuItem` для настройки пиктограмм, подменю и других параметров пунктов меню.
Использование метода `popUpContextMenu:withEvent:forView:` класса `NSMenu` для более гибкого отображения меню в определенной точке вью.
Использование метода `setMenu:` класса `NSView` для отображения меню при нажатии на вид.