class UIHoverGestureRecognizer
概要
Mac CatalystでビルドしたiOSアプリとMacアプリでは、システムはアクティブなアプリのレスポンダチェーンでプレスイベントをレスポンダオブジェクトに送信し、ユーザーが物理キーボードで行ったキープレスを報告します。
レスポンダチェーンはUIResponder
オブジェクト(UIViewControllerやUIApplication
など)が連なったものです。UIResponderオブジェクトは、イベントを処理するか、イベント処理をアプリ内の別のレスポンダに委任します。レスポンダおよびレスポンダチェーンについての詳細は、「レスポンダおよびレスポンダチェーンを使用したイベントの処理」を参照してください。
キープレスの検出
ユーザーが物理キーボードで行ったキープレスを検出するには、アプリデリゲートやメインビューコントローラなど、アプリのレスポンダオブジェクトでpressesBegan(_:with:)
を上書きします。
ユーザーがどのキーを押したか判断するには、各プレスのkey
プロパティを調べて、プレスのセットを順に反復処理します。charactersIgnoringModifiers
を使用して、キーのテキスト値を判断し、レスポンダがキープレスを処理すべきかどうか判断します。レスポンダがキープレスを処理しない場合は、スーパークラスでpressesBegan(_:with:)
を呼び出して、アクティブなレスポンダチェーンの次のレスポンダにプレスイベントを送信します。
たとえば、次のコードリストでは、ユーザーが左右の矢印キーを押すと、ゲームのキャラクターが前後に走ります。
キーリリースの検出
ユーザーがキーをリリースした時に検出するには、レスポンダのpressesEnded(_:with:)
メソッドを上書きします。キーに関する情報を入手するには、キープレスを検出する場合と同じように、presses
セットの各プレスのkey
プロパティを調べます。たとえば、次のコードリストでは、ユーザーが左または右矢印キーを放すと、キャラクターが特定の向きに走るのをやめます。