UIViewControllerのタッチBeganはなぜ

UIKitのイベント伝達メカニズムは、イベント応答チェーンによって実現されます。ユーザーが画面上でタッチ操作を行うと、システムはタッチイベントを最上位のビューに渡し、イベントを処理できるビューが見つかるまで順次下に伝達します。

UIViewControllerは、1つの画面上のすべてのビューを管理する特別なビューコントローラで、ユーザーの画面タッチ操作が発生すると、画面タッチはまずUIViewControllerのviewプロパティに対応したビューに渡され、そこで処理されます。

UIViewControllerのタッチイベント処理メソッドは、UIViewのタッチイベント処理メソッドをオーバーライドして実装されることが多い。例えば、touchesBegan(_:with:)メソッドはタッチ開始時のイベントを処理する。タッチ開始時には、システムはUIViewController対応するタッチイベント処理メソッドを呼び出してイベントを処理し、必要に応じて下位ビューにイベントを伝達する。

ですので、UIViewControllerのビューがタッチイベントを受け取ると、タッチ開始のイベントを処理するためにtouchesBegan(_:with:)メソッドが呼び出されます。こうすると、開発者はこのメソッド内で、ビューの状態の更新やアニメーション実行などの関連処理を行うことができます。

bannerAds