Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы AppKit ссылка на протокол NSMenuDelegate

Опции
Развертывание Target:

На этой странице
Язык:

NSMenuDelegate

NSMenuDelegate протокол определяет дополнительные методы, реализованные делегатами NSMenu объекты.

Наследование


Не применимый

Соответствует


Оператор импорта


Swift

import AppKit

Objective C

@import AppKit;

Доступность


Доступный в OS X v10.6 и позже.
  • Вызванный, чтобы позволить делегату возвращать цель и действие для ключевого вниз события.

    Объявление

    Swift

    optional func menuHasKeyEquivalent(_ menu: NSMenu, forEvent event: NSEvent, target target: AutoreleasingUnsafeMutablePointer<AnyObject?>, action action: UnsafeMutablePointer<Selector>) -> Bool

    Objective C

    - (BOOL)menuHasKeyEquivalent:(NSMenu *)menu forEvent:(NSEvent *)event target:(id *)target action:(SEL *)action

    Параметры

    menu

    Объект меню, отправляющий сообщение делегации.

    event

    NSEvent объект, представляющий ключевое вниз событие.

    target

    Возврат ссылкой целевой объект для пункта меню, соответствующего событию. Указать nil запрашивать цель меню.

    action

    Возврат ссылкой селектор действия для пункта меню, соответствующего событию.

    Возвращаемое значение

    Если существует допустимый и включенный пункт меню, соответствующий этому ключу вниз даже, возвратиться YEStrue после указания цели и действия. Возвратиться NOfalse если элемент отключен, при отсутствии элементов с тем ключевым эквивалентом или.

    Обсуждение

    Если делегат не определяет этот метод, меню заполняется, чтобы узнать, имеют ли какие-либо элементы соответствующий ключевой эквивалент.

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.3 и позже.

    Доступный как часть неофициального протокола до OS X v10.6.

    См. также

    performKeyEquivalent: (NSMenu)
    performActionForItemAtIndex: (NSMenu)

  • Вызванный, чтобы позволить делегату обновить пункт меню, прежде чем это будет выведено на экран.

    Объявление

    Swift

    optional func menu(_ menu: NSMenu, updateItem item: NSMenuItem, atIndex index: Int, shouldCancel shouldCancel: Bool) -> Bool

    Objective C

    - (BOOL)menu:(NSMenu *)menu updateItem:(NSMenuItem *)item atIndex:(NSInteger)index shouldCancel:(BOOL)shouldCancel

    Параметры

    menu

    Объект меню, которому принадлежит item.

    item

    Объект пункта меню, который может быть обновлен.

    index

    Целочисленный индекс пункта меню.

    shouldCancel

    Набор к YEStrue если вследствие некоторого пользовательского действия меню больше не должно выводиться на экран, прежде чем все пункты меню были обновлены. Можно проигнорировать этот флаг, возвратиться YEStrue, и продолжайте; или можно сохранить работу (чтобы сэкономить время в следующий раз, когда делегата вызывают), и возвратиться NOfalse остановить обновление.

    Возвращаемое значение

    YEStrue продолжать процесс. Если Вы возвращаетесь NOfalse, Ваш menu:updateItem:atIndex:shouldCancel: не вызывается снова. В этом случае это - Ваша ответственность обрезать любые дополнительные элементы из меню.

    Обсуждение

    Если Ваш numberOfItemsInMenu: метод делегата возвращает положительное значение, тогда Ваш menu:updateItem:atIndex:shouldCancel: метод вызывают для каждого элемента в меню. Можно тогда обновить заголовок меню, изображение, и т.д для каждого пункта меню.

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.3 и позже.

    Доступный как часть неофициального протокола до OS X v10.6.

  • Вызванный, чтобы позволить делегату указывать расположение дисплея для меню.

    Объявление

    Swift

    optional func confinementRectForMenu(_ menu: NSMenu, onScreen screen: NSScreen?) -> NSRect

    Objective C

    - (NSRect)confinementRectForMenu:(NSMenu *)menu onScreen:(NSScreen *)screen

    Параметры

    menu

    Объект меню.

    screen

    Экран меню откроется на.

    Возвращаемое значение

    Прямоугольник меню должен быть выведен на экран в в координатах экрана.

    Обсуждение

    Когда меню собирается быть открытым на указанном экране, этот метод отправляется делегату.

    Если Вы возвращаетесь NSZeroRect, или если делегат не реализует этот метод, то меню будет ограничено границами, подходящими для данного экрана. Возвращенный rect нельзя соблюдать во всех случаях, например, если он вынудил бы меню быть слишком маленьким.

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.6 и позже.

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

    Объявление

    Swift

    optional func menu(_ menu: NSMenu, willHighlightItem item: NSMenuItem?)

    Objective C

    - (void)menu:(NSMenu *)menu willHighlightItem:(NSMenuItem *)item

    Параметры

    menu

    Объект меню, собирающийся выделение элемент.

    item

    Элемент, собирающийся быть выделенным.

    Обсуждение

    Только один элемент на меню может быть выделен за один раз. Если item nil, это означает, что все элементы в меню собираются быть невыделенными.

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.5 и позже.

    Доступный как часть неофициального протокола до OS X v10.6.

    См. также

    highlightedItem (NSMenu)

  • Вызванный, когда меню собирается открыться.

    Объявление

    Swift

    optional func menuWillOpen(_ menu: NSMenu)

    Objective C

    - (void)menuWillOpen:(NSMenu *)menu

    Параметры

    menu

    Меню, собирающееся открыться.

    Специальные замечания

    Не изменяйте структуру меню или пунктов меню во время этого метода.

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.5 и позже.

    Доступный как часть неофициального протокола до OS X v10.6.

    См. также

    – menuDidClose:

  • Вызванный после того, как меню закрылось.

    Объявление

    Swift

    optional func menuDidClose(_ menu: NSMenu)

    Objective C

    - (void)menuDidClose:(NSMenu *)menu

    Параметры

    menu

    Закрывшееся меню.

    Специальные замечания

    Не изменяйте структуру меню или пунктов меню во время этого метода.

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.5 и позже.

    Доступный как часть неофициального протокола до OS X v10.6.

    См. также

    – menuWillOpen:

  • Вызванный, когда меню собирается быть выведенным на экран в начале сеанса отслеживания, таким образом, делегат может указать число элементов в меню.

    Объявление

    Swift

    optional func numberOfItemsInMenu(_ menu: NSMenu) -> Int

    Objective C

    - (NSInteger)numberOfItemsInMenu:(NSMenu *)menu

    Параметры

    menu

    Объект меню, собирающийся быть выведенным на экран.

    Возвращаемое значение

    Число пунктов меню в меню.

    Обсуждение

    При возврате положительного значения меню изменено или удаляющими или добавляющими элементами. Недавно создаваемые элементы являются пробелом. После того, как меню изменено, Ваш menu:updateItem:atIndex:shouldCancel: метод вызывают для каждого элемента. При возврате отрицательной величины число элементов оставлено без изменений и menu:updateItem:atIndex:shouldCancel: не вызывается. Если можно заполнить меню быстро, можно реализовать menuNeedsUpdate: вместо numberOfItemsInMenu: и menu:updateItem:atIndex:shouldCancel:.

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.3 и позже.

    Доступный как часть неофициального протокола до OS X v10.6.

  • Вызванный, когда меню собирается быть выведенным на экран в начале сеанса отслеживания.

    Объявление

    Swift

    optional func menuNeedsUpdate(_ menu: NSMenu)

    Objective C

    - (void)menuNeedsUpdate:(NSMenu *)menu

    Параметры

    menu

    Объект меню, собирающийся быть выведенным на экран.

    Обсуждение

    Используя этот метод, делегат может изменить меню путем добавления, удалив или изменив пункты меню. Если заполнение меню займет много времени, реализация numberOfItemsInMenu: и menu:updateItem:atIndex:shouldCancel: вместо этого.

    Проверка пункта меню происходит после того, как этот метод вызывают. Если меню обновляется, потому что пользователь нажал командную клавишу, только пункт меню с соответствующей командной клавишей проверен; если меню обновляется, потому что пользователь открыл его, то каждый пункт меню проверен.

    Оператор импорта

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.3 и позже.

    Доступный как часть неофициального протокола до OS X v10.6.