Class

UIKeyCommand

An object that specifies a key press performed on a hardware keyboard and the resulting action.

Declaration

class UIKeyCommand : UICommand

Overview

Hardware keyboards allow a user to hold down the Control, Option, Command, or other modifier key and press another key in combination to initiate commands such as Cut, Copy, or Paste. You can use instances of this class to define custom command sequences that your app recognizes and then provide an appropriate response.

To use this class, you create instances and associate them with your app’s responder objects. Each responder has a keyCommands property that you can redefine and use to return the key command objects that responder supports. Key command sequences are generated only for devices with an attached hardware keyboard.

The system always has the first opportunity to handle key commands. Key commands that map to known system events (such as Cut, Copy and Paste) are automatically routed to the appropriate responder methods. For other key commands, the system looks for an object in the responder chain with a key command object that matches the pressed keys. If it finds such an object, it then searches the responder chain, looking for the first object that implements the corresponding action method, and calls the first one it finds.

iPad apps that run in macOS can use UIKeyCommand to create menu elelments that have keyboard shortcuts.

Topics

Creating a Key Command Object

init(input: String, modifierFlags: UIKeyModifierFlags, action: Selector)

Creates a new key command object that matches the specified input.

init(input: String, modifierFlags: UIKeyModifierFlags, action: Selector, discoverabilityTitle: String)

Creates and returns a new key command object that matches the specified input and has a title.

Deprecated
Adding Menus and Shortcuts to the Menu Bar and User Interface

Provide quick access to useful actions by adding menus and keyboard shortcuts to your Mac Catalyst app.

Getting Information About the Key Command

var title: String

The key command's title.

var image: UIImage?

The key command's image.

var input: String?

The string of characters corresponding to the keys that must be pressed to match this key command.

var action: Selector?

The command's action-method selector.

var modifierFlags: UIKeyModifierFlags

The bit mask of modifier flags that must be pressed to match this key command.

var discoverabilityTitle: String?

An elaborated title that explains the purpose of the key command.

var attributes: UIMenuElement.Attributes

The attributes indicating the style of the key command.

var state: UIMenuElement.State

The state of the key command.

Getting Command Alternatives

var alternates: [UICommandAlternate]

An array of alternative actions to take for the key command.

class UICommandAlternate

An object representing an alternative action for a command.

Associating Data

var propertyList: Any?

An object that contains data to associate with the key command.

let UICommandTagShare: String

A value that identifies a command as a Share menu.

Constants

struct UIKeyModifierFlags

Constants that indicate which modifier keys are pressed.

Input Strings for Special Keys

Constants that represent the text input strings that correspond to special nonvisible keys.

Relationships

Inherits From

Conforms To

See Also

Menu Elements and Keyboard Shortcuts

Adding Menus and Shortcuts to the Menu Bar and User Interface

Provide quick access to useful actions by adding menus and keyboard shortcuts to your Mac Catalyst app.

class UIMenuElement

An object representing a menu, action, or command.

class UIAction

A menu element that performs its action in a closure.

class UICommand

A menu element that performs its action in a selector.

struct UIMenuElement.Attributes

Attributes that determine the style of the menu element.

enum UIMenuElement.State

Constants that indicate the state of an action- or command-based menu element.