私は、同時に写真を挟んでパンすることができる写真アプリに似たインタラクションを再現しようとしています。タッチミッドパンの追加または削除は完全に機能します。ピンチとパンのジェスチャ認識器を同時に操作するときに、タッチ位置を変更するにはどうすればよいですか?
私のコードでは、タッチの位置を使用してビューを移動しています。私が2本の指でドラッグすると、パンジェスチャ認識機能が2本の指の間にポイントを置くが(それはすべきである)、指を持ち上げるとポイントがその1本の指のポイントに変わり、ビューが変わる。
maximumNumberOfTouchesを1に設定しても、finger1、pan、touch 2、pan、lift finger 1に触れることができず、finger 2の位置に動きます。 2本の指でパンすることができます。ピンを挟んでズームしたり、画像を回転させたりすることができます。
私は他の理由でこれにUIScrollViewを使用することはできませんが、その問題がないことはわかっています。
私が考えることのできる唯一の解決策は、最初のタッチ位置を取得し、その後指を追加または削除するたびに、古い位置に基づいて新しい位置をオフセットすることです。しかし、私はどのようにその情報を取得するか分からない。
このためのAPIはありますか?上記の方法が唯一の方法ですか、もしそうなら、どうしたらいいですか?
UIGestureRecognizer 'location(in:)'はセントロイドです。タッチの場所ではありません。タッチの場所は 'location(ofTouch:in:)'またはUITouch 'location(in:)'です。 – matt
私は知っています。しかし、それは基本的に私がデフォルトとして望むものです。私は以下の解決策を掲示した。あなたが何か良いことを知っているなら、私は知りたいです。 – EdwardSanchez
問題は、パンジェスチャーに応答してビューをドラッグ可能にする正しい方法は、 '' location(in:) ''を使うことではないということです。あなたがそのようにしている限り、あなたは人生を不必要に複雑にしています。 – matt