問題タブ [touchesmoved]

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 投票する
0 に答える
347 参照

iphone - touchesMoved の呼び出し時に Core Graphics と不安定なフレーム レートを使用したカスタム グラフ

コア グラフィックスを使用して drawRect メソッド内の UIView 内にカスタム グラフを作成しています。私が抱えている問題は、ユーザーが指をドラッグしてそのグラフを移動することです。たとえば、グラフに 500 個のポイントがあり、画面の幅が 320 ピクセルしかない場合、それらのポイントのサブセットしか表示できず、タッチしてドラッグすると残りのポイントにアクセスして、グラフの残りの部分を表示できます。この画像を見る

私が直面している問題は、触れて移動すると、グラフのドラッグがかなり途切れ途切れになり、思ったほど速く反応しません。CoreGraphics を使用する以外の提案も受け付けていますが、それが最良の選択のように思えました。以下の drawRect メソッドを参照してください。事前に感謝します。

}

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

ios - iOS: 一連の画像のそれぞれの上で指をドラッグすると、一度に 1 つの画像を光らせる客観的な方法

目的: 一連の画像のそれぞれの上で指をドラッグすると、一度に 1 つの画像が光ります。

自分でこれを理解しようとして、タッチされた画像のアルファを 1.00 に更新しようとしましたが、一連の画像の他のすべての画像をアルファ 0.25 に設定し、touchesMoved を介して個々の画像を指でドラッグしますか? ただし、以下の私の方法では、望ましい結果が得られませんでした。

8 つの画像それぞれの Glow オーバーレイのアートワークは、次のパターンを使用して viewDidLoad で作成されます。

(上記のパターンを繰り返して、残りの 8 つのイメージをそれぞれ一意に作成します)。

touchesMoved パターンは次のようになります。

(上記のパターンを繰り返して、残りの 8 つの画像のそれぞれを一意に処理します)。

上記のコード スニペットは、最初にタッチされた画像を光らせますが、ビュー内をドラッグすると、touchesMoved は、タッチが離されて新しいタッチが開始されるまで、指がドラッグされた後続の画像のアルファを更新しません。

コンソールは、最初にタッチされた画像からの touchesMoved NSLog のみを表示し、指がドラッグされている限り、その後ドラッグしている指の下にある画像に関係なく、最初にタッチされた画像の NSLog を継続的に繰り返します。

一連の画像のそれぞれに指をドラッグすると、一度に 1 つの画像が光るという望ましい結果を生成するために、上記のメソッドを置き換えまたは更新する例と、アドバイスをいただければ幸いです。

ありがとうございました、

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

ios - 複数のビューで処理されるタッチ イベント

UIViewの上にのサブクラスがありUITableViewます。を使用しUITableViewていくつかのデータを表示していますが、同時に、指をたどるアニメーション (たとえば、軌跡を残す) をオーバーレイしたいと考えています。

うまくいけば、タッチ イベントをサブクラスと の両方で処理する必要があります。どうやってやるの?つまり、UIView サブクラスでトリガーされ、次に でトリガーされる可能性はありますか?UIViewUITableViewtouchesMovedUITableView

助けてくれてありがとう。

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

ios-4.2 - iOS 4.2.1 を実行する第 2 世代デバイスの問題を解決するために LLVM-GCC を使用することの影響

タッチイベントを使用して画面に描画するアプリがあります。私はタッチのUITouch locationInViewを返すために使用します。CGPoint問題は、x 座標と y 座標が常に同じであることです。ただし、iOS 4.2.1 を実行している第 2 世代のデバイスでのみ、かつアプリがリリース モードでビルドされている場合のみです。私のボタンはタッチに正しく反応するので、これはtouchesMovedまたはイベントオブジェクトから直接タッチを取得する場合にのみ問題になるようです。touchesEnded

http://getmoai.com/forums/new-users/ios-touch-sensor-y-co-ordinate-always-the-same-as-x/の投稿のおかげで、次を使用して問題を解決できました新しい LLVM 3.0 コンパイラではなく LLVM-GCC コンパイラを使用し、最適化レベル 0 を使用します。

興味深いのは、GCC コンパイラを使用すると、 で受け取ったタッチ位置が修正されtouchesEnded、最適化レベルを変更してで受け取っ-O0たタッチ位置が修正されたことtouchesMovedです。その理由を説明することはできませんが、今のところ、私のアプリがこれらのデバイスで動作していることに興奮しています。

私の質問は、古いコンパイラを使用してアプリをストアに配信することの欠点は何ですか? (最適化レベルの影響は理解しています。) iOS 4.2.1 および/または第 2 世代デバイスに対してのみ、古いコンパイラとより低い最適化レベルを使用するようにプロジェクトを構成する方法はありますか?

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

ios - 1 つのレイヤーで開始されたタッチを食べて、ccMoved 呼び出し (または touchesMoved) を防止する

Cocos2D を使用して、シューティング ゲームの弾幕スタイルのゲームを作成します。1 本の指でドラッグして船を動かし、隅に火の層があります。

メイン層から、ccTouchesBegan、ccTouchesMoved、および ccTouchesEnded を検出します。CGPoint をロジック コントローラーに渡します。

タッチ ダウン ポイントが 2 つの「発射ボタン」レイヤーのいずれかの内側にある場合は、発射イベントをトリガーします。それ以外の場合は、プレイヤー船の新しい場所を設定します. タッチが火層エリアの外に移動すると、プレイヤーの船に新しい場所を設定します。

問題: Fire レイヤー内から非 Fire レイヤー スペースに指をドラッグすると、「タッチ ムーブ セット プレーヤーの位置」ルールにより、船がそのポイントにジャンプします。

どうすればこれをより適切に設計できますか?

おそらく、「タッチオブジェクト」の配列が必要であり、火のレイヤーの境界を越えるときにそれらを無効にします。ここで、タップしている場所を場所の配列と比較する「タッチオブジェクト」クラスをハックすることなく、理解すれば必要なコントロールを提供するタッチ処理に関する重要な概念が欠けているように感じます。

お知らせ下さい。ありがとう!

(はい、見ました:レイヤーが重なっているときにタッチ処理を 1 つのレイヤーに制限するにはどうすればよいですか?。それは私の質問には答えません。rectContainsPoint は、タッチが火のレイヤー内にあるか外にあるかを判断する方法です)。

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

ios - iOS Touches Began 後続のタッチは、最初のタッチが移動した場合にのみ到達します

ピアノ アプリの UIView で touches メソッドをオーバーライドしています。

1 本の指で iPhone または iPad に触れると、予想どおり、touchesBegan コールバックが表示されます。2 本目の指で触れると、touchesMoved コールバックでそのイベントを取得します。これはすべて問題ありませんが、2番目の指で触れている間に最初の指が動いた場合にのみ、2番目(および3番目など)のコールバックを取得します。

ピアノアプリの場合、これは問題です。非常にすばやくタッチできる必要があるためです。

誰かがこれの回避策を知っていますか? touchesBegan/Moved/Ended メソッドを使用する以外の方法はありますか?

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

iphone - touchesMoved メソッドの呼び出し頻度を増やす

私は現在、ペイント機能を含むアプリに取り組んでいます。実際にはそれほど悪くはありませんが、問題は、リフレッシュレートまたは touchesMoved-method の呼び出しの頻度が低すぎることです。

画面上で指を速く動かすと、線に多くのエッジが発生し、見栄えが悪くなります。そこで、このメソッドの呼び出し頻度を増やすことを考えました。それは私の問題の良い解決策であり、可能な解決策でしょうか?

多分あなたは私の問題で私を助けることができます. 前もって感謝します。

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

ipad - iPadランドスケープがタッチを台無しにし始めた

私のアプリは横向きでのみ許可されており、横向きで起動します。したがって、iPadが横向きの場合の左上隅は(0,0)であるため、すべてが正常に機能します。

しかし、「touchesBegan」を拾うと...正しく動作していません。iPadの右3分の2のようにタップしたときだけ、タッチを拾います。アプリは文字通り単一のUIViewを備えた空白の画面であり、他には何もないため、向きと関係があることはわかっています。とても簡単です。これを引き起こす可能性のある他の問題はありません。

具体的には、touchesBegan関数でxの位置を印刷し、iPadを左側のホームボタンで押したままにすると、幅は1024になります。1024-768は256になります。これはまさにxの位置です。私のタッチを感知し始めます。x = 256の左側にあるものは、タッチを感知しません。

これを修正するにはどうすればよいですか?

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

iphone - touchesMovedによるスケーリング:

UIBezierPathを使用して作成された円グラフがあります。これらの個々のパス(パイピース)をスケーラブルにする必要があります。ピンチスケーリングを使用できるようにするにはビューが必要だと思うので、touchesMoved:が進むべき道だと思います(回避策がない限り)。

アドバイスや助けをいただければ幸いです。

更新/進行コード

MySliceClass.m

MySliceView.m

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

objective-c - 目的cに指の動きのパスを保存するにはどうすればよいですか?

iPhoneの画面上で指の動きの軌跡を保存したい。今のところ、タッチを読んでCGPointsをNSMutableArrayに追加しています。その配列内のすべての cgpoint を印刷しようとすると、中間点が欠落しています。これにもっと良い方法はありますか?パス全体を直接保存できますか?

これが私が使用しているコードです