Class

NSMenuItem

A command item in an app menu.

Overview

The NSMenuItem class includes some private functionality needed to maintain binary compatibility with other components of Cocoa. Because of this fact, you cannot replace the NSMenuItem class with a different class, but you can subclass it if necessary.

Topics

Creating a Menu Item

init(title: String, action: Selector?, keyEquivalent: String)

Returns an initialized instance of NSMenuItem.

Enabling a Menu Item

var isEnabled: Bool

A Boolean value that indicates whether the menu item is enabled.

Managing Hidden Status

var isHidden: Bool

A Boolean value that indicates whether the menu item is hidden.

var isHiddenOrHasHiddenAncestor: Bool

A Boolean value that indicates whether the menu item or any of its superitems is hidden.

Managing the Target and Action

var target: AnyObject?

The menu item's target.

var action: Selector?

The menu item's action-method selector.

Managing the Title

var title: String

The menu item's title.

var attributedTitle: NSAttributedString?

A custom string for a menu item.

Managing the Tag

var tag: Int

The menu item's tag.

Managing the State

var state: NSControl.StateValue

The state of the menu item.

Managing the Image

var image: NSImage?

The menu item’s image.

var onStateImage: NSImage!

The image of the menu item that indicates an “on” state.

var offStateImage: NSImage?

The image of the menu item that indicates an “off” state.

var mixedStateImage: NSImage!

The image of the menu item that indicates a “mixed” state, that is, a state neither “on” nor “off.”

Managing Submenus

var submenu: NSMenu?

The submenu of the menu item.

var hasSubmenu: Bool

A Boolean value that indicates whether the menu item has a submenu.

var parent: NSMenuItem?

The menu item whose submenu contains the receiver.

Getting a Separator Item

var isSeparatorItem: Bool

A menu item that is used to separate logical groups of menu commands.

class func separator()

Returns a menu item that is used to separate logical groups of menu commands.

Managing the Owning Menu

var menu: NSMenu?

The menu item’s menu.

Managing Key Equivalents

var keyEquivalent: String

The menu item’s unmodified key equivalent.

var keyEquivalentModifierMask: NSEvent.ModifierFlags

The menu item’s keyboard equivalent modifiers.

Managing Mnemonics

func setTitleWithMnemonic(String)

Sets the title of a menu item with a character denoting an access key.

Deprecated

Managing User Key Equivalents

class var usesUserKeyEquivalents: Bool

Returns a Boolean value that indicates whether menu items conform to user preferences for key equivalents.

var userKeyEquivalent: String

The user-assigned key equivalent for the menu item.

Managing Alternates

var isAlternate: Bool

A Boolean value that marks the menu item as an alternate to the previous menu item.

Managing Indentation Levels

var indentationLevel: Int

The menu item indentation level for the menu item.

Managing Tool Tips

var toolTip: String?

A help tag for the menu item.

Representing an Object

var representedObject: Any?

The object represented by the menu item.

Managing the View

var view: NSView?

The content view for the menu item.

Getting Highlighted Status

var isHighlighted: Bool

A Boolean value that indicates whether the menu item should be drawn highlighted.

See Also

Menus

class NSMenu

An object that manages an app’s menus.

protocol NSMenuDelegate

The optional methods implemented by delegates of NSMenu objects to manage menu display and handle some events.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software