テーブル ビュー間でのアイテムのドラッグをサポートする iPhone/iPad アプリを開発しています。すべてのテーブルが画面に収まらないため、UIScrollView
それらを水平にレイアウトし、ページングをサポートするカスタムを作成しました。
主要なドラッグ アンド ドロップをまとめましたが、乗り越えられない問題がいくつか残っています。
ユーザーがドラッグするアイテムを選択した後、ドラッグしている間、スクロールして
UIScrollView
移動先を見つけることができませんUITableView
。ユーザーが同じテーブル ビュー内でアイテムをドラッグしたい場合があります。ただし、ドラッグが開始されると、テーブル ビューはスクロール ジェスチャを認識しなくなります。
UIGestureRecognizerDelegate
を実装したり、複数のジェスチャ認識エンジンがジェスチャを同時に認識できるようにするなど、さまざまなオプションを試しました。
この問題は、イベント処理ガイドの次の説明に端を発しているように見えます。画面から最後の指が離されました。」
UIGestureRecognizer
インスタンスは常にシーケンス全体と一致します。私の場合、単一のシーケンスを個別のジェスチャに分割したいと考えています。一部のタッチはアイテムのドラッグを認識しますが、同じシーケンス内の別のタッチはスワイプまたはスクロール ジェスチャとして認識される必要があります。事実上、ジェスチャ認識エンジンに同時に認識させたいのですが、異なるタッチのみを認識させたいのです。ジェスチャの一部としてタッチを認識すると、そのタッチは他の人から無視されます。
デフォルトのサブクラスを使用してこれらすべての問題を首尾一貫して解決する方法を見つけられずUIGestureRecognizer
、独自のカスタムのマルチパート ジェスチャ認識エンジンを作成しようとしています。
私はむしろそうする必要はありません - 同じ結果を達成するためのより適切な方法はありますか?