Xamarin.iOS アプリでのタッチの処理

他のモバイル プラットフォームと同様に、iOS にはタッチを処理する方法がいくつかあります。 マルチタッチ (画面上の複数の接触ポイント) と複雑なジェスチャをサポートできます。 このガイドでは、いくつかの概念と、iOS でのタッチとジェスチャの実装の詳細について説明します。

iOS は、一連の UIResponder メソッドを介してアプリケーションで使用できるようになるタッチ データを UITouch クラスにカプセル化します。 アプリケーションは、どちらも UIResponder から継承される UIViewUIViewController のサブクラスでこれらのメソッドをオーバーライドできます。

iOS は、タッチ データのキャプチャに加えて、タッチのパターンをジェスチャに解釈する手段を提供します。 一方、これらのジェスチャ認識エンジンを使用すると、画像の回転やページの回転など、アプリケーション固有のコマンドを解釈できます。 iOS には、最小限のコードを追加して共通のジェスチャを処理する豊富なクラスのコレクションが用意されています。

タッチとジェスチャ認識エンジンの選択は、混乱を招く可能性があります。 このガイドでは、一般的にジェスチャ認識エンジンを優先することをお勧めします。 ジェスチャ認識エンジンは個別のクラスとして実装されるので、懸念事項の分離が進み、カプセル化が向上します。 これにより、さまざまなビュー間でロジックを簡単に共有できるため、記述されるコードの量が最小限に抑えられます。

ただし、低レベルのタッチ処理を使用し、たとえば、フィンガーペイント プログラムを作成するために複数の指を追跡する必要がある場合もあります。

セクション

このガイドでは、iOS での Touch の概要を説明します。 iOS 9 と 10 でそれぞれ導入された iOS での 3D Touch と Haptic フィードバックの使用について詳しくは、以下の特定のガイドを参照してください。