UIResponder
イベントの処理と応答を抽象化するインタフェース
UIKit
アプリケーションのイベントハンドリングのバックボーンを構成するのは、
UIResponder
のインスタンスである
Responder objects
多くのオブジェクトが
Responder objects
UIApplication
,
UIViewController
,
UIView
, ...
イベントが発生すると、
UIKit
はそれをハンドリングするために
Responder objects
にディスパッチする
イベントには様々な種類がある
タッチイベント、モーションイベント、プレスイベント、...
Responder objects
は適切なメソッドをオーバーライドしている必要がある
touchesBegan(_:with:)
,
touchesMoved(_:with:)
,
touchesEnded(_:with:)
, ...
この時、
UIKit
からイベントの情報を取得し、アプリケーションコード上ではその変更をトラックし、UI に反映する
Responder objects
は
UIEvent
オブジェクトを処理するが、
input view
からカスタムな入力も受け付けられる
カスタムな
input view
を
Responder objects
に関連づけたい場合は、その
inputView
プロパティに view をアサインする
https://developer.apple.com/documentation/uikit/uiresponder