問題タブ [hittest]

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 に答える
942 参照

xcode - Xcode - HitTesting で 3 回返される

hitTest: withEvent: がオーバーライドされる UIView サブクラスがあります。ヒット テストが登録されるたびに、ビューはそのタグをログに記録します。

例:クリック

コンソール: You Touched View: 3 You Touched View: 3 You Touched View: 3

私の質問: なぜ 3 回実行するのですか? NSLog 以外のものをトリガーする必要があり、それも 3 回トリガーされるのではないかと心配しています。トリプルトリガーは簡単に回避できましたが、もっと良い説明があるかどうか疑問に思っていました.

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

ruby - 衝突検出コードはどこにあるべきか?

私は卓球ゲームを書いていて、速度x、y、位置、および@ball.updateを呼び出すことによってすべてのフレームが更新されるすべてのものを持つボールクラスを持っています。これは、x_velとY_velなどによってボールを前方に動かします。質問は、衝突コードをボール クラスのループまたは update メソッドに配置する必要があるかどうかです。それとも、すべてがループ内にあり、ボールがその位置を制御できないようにする必要がありますか?

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

iphone - uiwebview が応答しない / タッチをスーパーに渡す

そこで、UIWebview をタッチ イベントに応答させたいと考えました。これについていくつかのトピックを読みました。UIWebView のサブクラスを作成し、UIViewController に追加して IB 経由でリンクしました。私のサブクラスでは、終了したタッチをオーバーライドして [super touchedEnded] を呼び出しました。役に立ちませんでした。hittest を上書きしましたが、super も呼び出されません!

このコードをサブクラス化された UIWebView に追加すると:

NSLog(@"ヒット");

自分自身を返します。}

その後、タッチはスーパークラスに転送されますが、ヒットテストはそうではなく (!)、さらに Web ビューのスクロールが停止します。

さて、私は自分のwebviewでタッチを認識してスーパーに渡したいのですが、何が間違っていますか?

編集:

「ヒットテスト」の使用が非常に多くの提案に含まれているのはなぜだろうと思っています-これにより、Webビューをスクロールできなくなります...何かアイデアはありますか?

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

iphone - ページングが有効な UIScrollView でクリック可能なボタンの行を作成できませんでした

水平方向にスクロールできるボタンの列を作成しようとしています。Pulse ニュース リーダー アプリのフィードのニュース項目にいいね!ボタンの幅と同じページサイズで UIScrollView のページングを有効にすることに成功しました。つまり、一度に画面上の 3 つのボタン | 1 | 2 | 3 | 、左にスワイプすると | になります。2 | 3 | 4 |。ここでスタックオーバーフローで見つけたメソッドを使用して、これを可能にしました。

ボタンの行を含む UIScrollView で clipsToBounds を NO に変更し、その上に別のビューを重ねてスワイプ ジェスチャを取得します。それは完全に位置に移動し、スナップします!

しかし、最大の問題は、境界内のボタン以外のボタンをクリックできないことです! これらのボタンをクリックできるようにするにはどうすればよいですか? タッチ イベントを取得して、それらのボタンを含む UIScrollView に渡すことができると思っていましたが、上記のメソッドを使用すると、touchesBegan、touchesEnd、touchesMoved、および touchesCancelled の応答を取得できないことがわかりました。何日も苦しそうに抜け道を見つけて、私を正しい方向に向けてください。ご清聴ありがとうございました!

0 投票する
4 に答える
9200 参照

iphone - UIView の -hitTest:withEvent: が 3 回呼び出されましたか?

アプリケーション全体で発生するアクティビティ (つまり、タッチ) を傍受しようとしています。

つまり、残りのコントロールを含むメインの UIView 内で発生したタッチ イベントの通知を受け取ろうとしています。そのためには、UIView のメソッド -hitTest:withEvent: が良い解決策だと思いました。

ただし、[super hitTest:... withEvent:...] を呼び出す前にこのオーバーライドされたメソッドに NSLog すると、任意のタッチに対して 3 回呼び出されることがわかり、受け取るイベントに違いは見られません。呼び出されるたびに。

私のアプリケーションのメインビューでメソッドを実装する方法は次のとおりです。

そして、これがこのビューでのシングルタッチの NSLog です。

1回のタッチで1回だけ実行したいアクションをトリガーするために、これら3つの通知に違いを生むにはどうすればよいですか?

前もって感謝します !

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

.net - WPFでマウスの下にあるタイプAのコントロールをカウントする

キャンバス上にカスタムAパネルがいくつかあり、Bパネルもありますが、実際にマウスカーソルにあるAパネルを数えるにはどうすればよいですか?

これはで達成できることは知っていVisualTreeHelper.HitTestますが、あまりチャンスはありませんでした。カスタムパネルの要素が常に返されるか、まったく返されません...

これは私のコードです

.cs

クリックしたresult == 0場所...

代替テキスト

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

.net - ヒット テストの動作

次のコードがあります

これは私の窓です

これが私のUCです

これは、[ユーザー コントロール] をクリックしてから、2 つのユーザー コントロールの交差点をクリックしたときの出力です。

なぜこれ?マウス インスタンスの下の UserControl はどこにありますか?

PS:
今、私がレーベルに持っているとき、BorderThickness = 0

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

wpf - WPF-ヒットテストフィルターのコールバック

私はキャンバスを持っていて、そのVisualCollectionに子DrawingVisualsがあります。あるタイプの子供に対してテストを行いたいのですが、他のタイプの子供に対しては行いません。そのために、HitTestFilterCallback関数を作成しました。

そこで、canvasの子がDrawingVisualから派生したBackgroundLineであるかどうかを確認し、そうである場合はスキップします。ただし、Debug.WriteLine(o.GetType())から取得するタイプは、System.Windows.Media.DrawingVisualのみです。最も具体的なオブジェクトタイプを見つける方法はありますか?

残りのコードは以下のとおりです。GraphicsBaseオブジェクトに対してのみテストしたい。

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

wpf - WPF-レンダリングされた文字のピクセルのヒットテスト

wpfの文字のピクセルをヒットテストする方法はありますか?文字「i」のドットをヒットさせたいのですが、ドットと「i」の線の間のスペースをクリックしてもヒットしません。DrawingContext.DrawTextメソッドを使用して実行しようとしましたが、テキストを含む結果のDrawingVisualに対してテストを実行すると、VisualTreeHelper.HitTestメソッドを使用しても、文字のスペースと黒のピクセルが区別されません。キャラクターのバウンディングボックス内のすべてのポイントにヒットを与えます。これを行う方法はありますか?

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

iphone - for ループを使用したヒット テスト

私は 10 個のレンガを持っています。ボールがそのうちの 1 つに当たるたびに、そのレンガを取り除きたいと思います。(ブリックブレーカー)

それが私が試したことです

そしてまた

しかし、チャンスはありません。正しい構文はどうですか?