問題タブ [uipinchgesturerecognizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
228 参照

ios - UIPanGestureRecognizer のタッチを ScrollView のズームに変換するには、どのような手順が必要ですか?

スクロール ビューでズームを処理するジェスチャ認識エンジンを作成しています (一度に 1 つの軸に沿ってスクロールします)。ジェスチャ認識エンジンは動作していますが、ジェスチャ認識エンジンからのデータを使用してビューを適切に変換するのに問題があります。これは私が今していることです:

これにより、ビューのサイズが適切に変更されますが、画面上の奇妙な位置に移動する可能性があり、スクロール ビューが端までスクロールできない場合があります (境界がビューの中央にあると見なされます)。どこかを見て跳ね返る)。

基本的に、私の質問は、他のオブジェクトの他のどのプロパティと、これを正しく機能させるために何を操作する必要があるかということです。View.transform、ScrollView.contentSize、他には? AppleのUIScrollView実装ファイルだけオープンソースだったらxD

0 投票する
1 に答える
1751 参照

objective-c - UIScrollView ピンチ ジェスチャ レコグナイザはどのセレクタを呼び出しますか?

UIScrollView のピンチ ジェスチャ認識エンジンを置き換えるカスタム ピンチ ジェスチャ認識エンジンがあります。このピンチ ジェスチャ認識エンジンを、UIScrollView のピンチ ジェスチャ認識エンジンとまったく同じように 100% 動作させたいとします。これを有効にするために、ジェスチャー認識エンジンのセレクターを何らかの方法で設定できますか?

おそらくのように

か何か?

実際には、UIScrollView に含まれるビューで setTransform をオーバーライドし、このカスタム ピンチ レコグナイザーで設定されたフラグに基づいて変換の変更を制限したいことを除いて、レコグナイザーが UIScrollView に付属するものとほぼ同じように動作することを望んでいます。UIScrollView のピンチ ジェスチャ レコグナイザーが行うコール スタックの上位すべてをリバース/推測エンジニアリングしようとすることは、困難で煩わしいことが証明されています。setTransform で読み取られるいくつかのフラグを設定するタッチでいくつかの演算を実行するには、カスタム認識エンジンが必要ですが、それ以外に、完全に標準の UIScrollView ピンチ動作が必要です。

0 投票する
1 に答える
4745 参照

ios - UIPinchGestureRecognizer でピンチインまたはピンチアウトを見つける

ビューで使用UIPinchGestureRecognizerしていますが、セレクター メソッドでピンチインが実行されているか、ピンチアウトが実行されているかを知る必要があります。一度に1つのうちのいずれか。これを取得するためのアイデアを教えてください。ありがとうございました。

0 投票する
3 に答える
6509 参照

ios - ピンチとパンの両方を同時に処理するジェスチャ認識エンジンはありますか?

そのため、iOS 4.2 を使用してズームとパンをアプリケーションに追加しています。UIPinchGestureRecognizer と UIPanGestureRecognizer のインスタンスを実装しました。一度にジェスチャーを認識しているのは、これらのうちの1つだけのようです。特に、後者は 1 本の指が押されたときにのみ反応しますが、前者は 2 番目の指が存在するときに反応します。それは問題ありませんが、ユーザーエクスペリエンスの質を低下させると思われる副作用がいくつかあります.

2 本の指を下に置き、そのうちの 1 本を動かすと、画像は本来のように拡大 (ズームイン) しますが、指の下のピクセルは指の下にありません。画像は、2 本の指の中間点ではなく、画像の中心からスケーリングされます。そして、その中心点自体が動いています。その中心点の動きが画像全体のパンを決定するようにしたい.

ほぼすべての iOS アプリケーションで、指を追跡する指の下のピクセルではなく、画像の中心付近で画像がズームインまたはズームアウトするという同じ動作がありますか?

カスタム ジェスチャ認識エンジンを作成することは、この問題に対する正しい設計アプローチのように思えますが、商業的に無料でダウンロードして使用するために、誰かがそのような認識エンジンを作成したようにも思えます。そのようなUIGestureRecognizerはありますか?

0 投票する
0 に答える
11550 参照

ios - iOS は、ピンチ/ズームと共に回転ジェスチャーを追加します

このように認識エンジンを設定しています。レコグナイザーを self.view に追加していますが、実際には変換されるのは self.container (サブビュー) であることに注意してください。

ピンチ/ズームは、それ自体で正常に機能します。

ただし、回転を追加するのに苦労しています:

回転レコグナイザーを追加すると、回転は機能しますが、ピンチ/ズームが壊れます (非常に小さいものから大きいものへ無計画にジャンプします)。両方が機能するようにこれを解決するにはどうすればよいですか?

0 投票する
2 に答える
642 参照

objective-c - UIPinchGestureRecognizer が終了状態を受信できないのはなぜですか?

1 つのビューに対して 4 つのジェスチャ レコグナイザーがあります。

UIPinchGestureRecognizer の Ended 状態を処理する必要がありますが、最終状態が Ended ではなく Changed になることがあります。理由を知っている人はいますか?私は setDelaysTouchesEnded: で遊んでみますが、何も:(

0 投票する
2 に答える
2136 参照

ios - UIPinchGestureRecognizerの水平方向と垂直方向のスケールを別々に

UIPinchGestureRecognizerを使用する場合、水平方向と垂直方向のピンチスケールを個別に検出/読み取るための最良の方法は何ですか?私はこの投稿を見ました

UIPinchGestureRecognizerさまざまなxおよびy方向のスケールビュー

しかし、私は、そのような一見日常的なタスクのために行ったり来たりすることが非常に多いことに気づいたので、それが最良の答え/方法であるかどうかはわかりません。

この目的でUIPinchGestureRecognizerをまったく使用しないことが答えである場合、2つの異なる方向のピンチスケールを検出するための最良の方法は何ですか?

0 投票する
0 に答える
226 参照

xcode - デバイスでのピンチ ジェスチャ レコグナイザの遅延

アプリにピンチ ジェスチャ認識機能を追加しました。シミュレータ上では問題なく動作します。ただし、ジェスチャが完了して更新されるまでに、デバイスで非常に長い遅延が発生します。これを引き起こしている可能性のあるアイデアはありますか?これは新しいiPhoneでもあるので、処理速度ではないはずです.

0 投票する
1 に答える
539 参照

ios - UIPinchGestureRecognizer を使用してレイヤーをスケーリングする

UIPinchGestureRecognizer を使用して、(既存の変換、レイヤーの現在の状態に基づいて) Transform を使用して CALayer をスケーリングするにはどうすればよいですか?

スケールが増加しているため、非常に急速に大きくなったり、非常に小さくなったりします。助言がありますか?

0 投票する
1 に答える
152 参照

objective-c - ポイントの周りに等距離で新しいオブジェクトのグループを作成しますが、uipinchgesture のタッチ位置に基づいて回転させます

ピンチ ジェスチャを使用して、スプライト/box2d ボディを n 個の形状に分割しました。メソッドを使用して、形状が作成される場所を特定しequidistantPointsOnACircleForMidpointます。ピンチ ジェスチャのタッチ位置 ( ) によって指定される (おおよその) 回転/移動に基づいて、これらのオブジェクトを移動したいと考えていますtouchPoints

たとえば、オブジェクトを 2 つのオブジェクトに分割する場合、最初の新しいオブジェクトは、中点に対して 0° と 180° だけでなく、1 本の指がタッチ ジェスチャを終了する場所の近くに配置する必要があります。作成される新しいオブジェクトの数は 2 から 10 の範囲であるため、それらをピンチ ジェスチャの座標に配置することはできません。

円の周りに等間隔に配置されたポイントに回転を適用したいので、最初のピンチ ジェスチャが開始ポイントになります。これは、最初のポイントを最初のタッチ位置として円の上に配置するのと同じくらい簡単かもしれません。多くの人にとって、これはおそらく基本的な数学です。それは私のためではありません - 私は途方に暮れているので、私は質問をしています.

ピンチジェスチャーのタッチ位置があり、ポイントが均等に配置されています-2つを組み合わせたいです。つまり、レイアウトの開始点は、ピンチジェスチャの最初のタッチ座標です (図に示すように)。

ポイントを並べるとこんな感じ。

今何が起きているのですか:

ここに画像の説明を入力

私がしたいこと: ここに画像の説明を入力