Ultimate Catalyst Guide

How do I support keyboard shortcuts?

released Fri, 05 Jul 2019
Swift Version 5.1

Keyboard shortcuts are implemented via the existing UIKeyCommand system on UIResponder. Here's a simple example of how your currently visible view controller can listen for Escape key presses by the user:

class MyKeyListeningViewController: UIViewController {

     override var keyCommands: [UIKeyCommand]? {

         return [UIKeyCommand(input: UIKeyCommand.inputEscape,

                              modifierFlags: [],

                              action: #selector(doCancelCommand(sender:)))




Keep in mind that on macOS multiple views can easily be visible at the same time and the rules of the responder chain apply.