問題タブ [touchesbegan]
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.
iphone - タッチがタッチされているものを検出しなくなりました
NSTimer を使用して回転バナーを作成し、5 つの異なる画像からアニメーション化された画像で現在の画像を追跡しています。誰かがクリックした場合にバナーのタッチ イベントを処理し続けるように touchesBegan をセットアップしました。私の概念実証は機能しますが、別のプロジェクトに移動すると機能しなくなります。
プロジェクトにブレークポイントを配置すると、タッチは問題なく取得されますが、if ([touch view] == myImageView) に到達すると、画像ビューがタッチされていることが検出されません。
ios - touchesBegan: と touchesEnded: による要素の加速
ドラッグされた距離とドラッグされた速さに基づいて加速しようとする UIImageView があります。加速するとは、touchesEnded: が呼び出されたときに、imageView がドラッグされた方向にさらにスライドすることを意味します。スライドする距離と速度は、ドラッグした距離と速度によって異なります。
この時点で、イメージビューをドラッグして、ドラッグされた距離と所要時間を取得できます。これに基づいて、速度と方向ベクトルを計算できます。
しかし、touchesEnded: によって imageview で実行されるスライドに苦労しています。
私の質問は次のとおりです。私がやろうとしている UIImageView でこの「スライド」効果を実行する一般的またはスマートな方法はありますか?
役立つ解決策やヒントを喜んで受け入れます。
ありがとう。
nstimer - NSTimers のジレンマ
以下は、学校の生徒向けに作成している無料アプリのコードの一部です。とてもシンプルで、10 秒間に画面をタップした回数をカウントします。countDownTimer
3 から 0 までカウントダウンする1 つのタイマーがあり、次のタイマー「myTimer」を開始します。これは、10 から 0 までのメイン カウントダウンを行います。最初のタイマーが設定されたときにタッチが開始されることを除いて、すべてがアプリでうまく機能します。オフにして、秒がオフに設定されている場合にのみ機能させたい(10秒間)。
誰かが私が間違っているところを見ることができますか?
iphone - touchesビューを閉じ始めました
フルスクリーンのUIImageViewを持つViewControllerがあります。statusBar と NavigationBar を非表示にしたので、どこかをタップする以外に戻る方法はありません。
だから私はこのtouchesBeganを使って戻ることを考えていました
私もこの方法を使用しようとしました
この全画面画像で立ち往生し、戻ることができません。ビューコントローラーを閉じるにはどうすればよいですか?
ios - UIBarButtonItemのタッチが開始されたタッチを検出する方法は?
イベントをトリガーするためにUIBarButtonItemを使用しています。xcode4に統合されたInterfaceBuiderを使用してUIBarButtonItemを作成してから、ボタンをViewControllerのメソッドに接続しました。メソッドは次のようになります。
ここで、MIDIシンセサイザーの種類のアプリに対してnoteon / noteoffタイプのイベントをトリガーしたいので、fingerdown/fingerupも検出したいと思います。
1-sender
上記の方法で押し下げられたか押し上げられたかを検出する方法はありますか?
2- UIBarButtonItemをサブクラス化して、touchesBeganとtouchesEndedを次のように実装しようとしました。
次に、インターフェイスエディターでUIBarButtonItemのクラスをmyUIBarButtonItemに変更しましたが、うまくいきませんでした。これは、インターフェイスエディタでカスタマイズしたクラスを使用する正しい方法ですか?
3- UIBarButtonItemがUIResponderから継承しないため、touchesbegan/touchesendedイベントをインターセプトできないことをどこかで読みました。その場合、タッチダウンおよびタッチアップイベントを検出できる適切な方法は何ですか?私は主にC/C ++プログラマーであり、ObjectiveCとiPhone環境についての知識はかなり限られています。私はUIエディターの使用方法しか知らず、カスタムUIを作成して、このエディターなしで使用する方法もまだわかりません。
結論は次のとおりです。可能な限り遅延を最小限に抑えてタッチダウン/タッチアップを検出する最も簡単な方法は何ですか?
チュートリアルやドキュメントへのポインタも歓迎します。
ありがとう、
馬場
iphone - ビュー内のタッチ位置を反転する方法はありますか?
CGRect のタッチ位置に基づいてイメージと var を変更するメソッドを作成しています。現在、一連の if ステートメントを使用して、タッチ位置を手動で反転しています。これがこれを行うための特に効率的な方法であるとは確信していません。
画像の変更には問題なく動作しますが、var の変更 (まだ実装していません) では、1 から 100 まで +1 刻みでスケーリングする必要があります。
これを行うより良い方法はありますか?提供されたヘルプに感謝します。
iphone - touchesBegan 直後の EXC_BAD_ACCESS
iOS プログラミングを学習するための非常に単純なプロジェクトを開始しましたが、後で EXC_BAD_ACCESSを取得しtouchesBegan
ます。
このプロジェクトは、DropBox からダウンロードできます。
基本的にUIView
、ユーザーが触れている場所に円を描くサブクラスがあります。
非常に単純ですが、機能させることはできません。
どんな助けでも大歓迎です。ありがとう!
EDIT
問題は、次のコード行であることが判明しましたtouchesBegan
:
私が変わったこと:
ios - iOS: 一連の画像のそれぞれの上で指をドラッグすると、一度に 1 つの画像を光らせる客観的な方法
目的: 一連の画像のそれぞれの上で指をドラッグすると、一度に 1 つの画像が光ります。
自分でこれを理解しようとして、タッチされた画像のアルファを 1.00 に更新しようとしましたが、一連の画像の他のすべての画像をアルファ 0.25 に設定し、touchesMoved を介して個々の画像を指でドラッグしますか? ただし、以下の私の方法では、望ましい結果が得られませんでした。
8 つの画像それぞれの Glow オーバーレイのアートワークは、次のパターンを使用して viewDidLoad で作成されます。
(上記のパターンを繰り返して、残りの 8 つのイメージをそれぞれ一意に作成します)。
touchesMoved パターンは次のようになります。
(上記のパターンを繰り返して、残りの 8 つの画像のそれぞれを一意に処理します)。
上記のコード スニペットは、最初にタッチされた画像を光らせますが、ビュー内をドラッグすると、touchesMoved は、タッチが離されて新しいタッチが開始されるまで、指がドラッグされた後続の画像のアルファを更新しません。
コンソールは、最初にタッチされた画像からの touchesMoved NSLog のみを表示し、指がドラッグされている限り、その後ドラッグしている指の下にある画像に関係なく、最初にタッチされた画像の NSLog を継続的に繰り返します。
一連の画像のそれぞれに指をドラッグすると、一度に 1 つの画像が光るという望ましい結果を生成するために、上記のメソッドを置き換えまたは更新する例と、アドバイスをいただければ幸いです。
ありがとうございました、
iphone - iPhoneのオンスクリーンキーボードでタッチを検出する方法
ユーザーが入力中にキーボードのキーに触れている時間を検出しようとしているので、たとえば、特定のキーが十分に長く押されたときにダイアログがポップアップ表示されます。
touchesEnded
通常のビューでこれを検出することは、との間の時間を測定することで簡単touchesBegan
です。ただし、キーボードからイベントを受信しません。touchesEnded
キーボードからtouchesBegan
イベントを受信する方法について何かアイデアはありますか?
ios - 1 つのレイヤーで開始されたタッチを食べて、ccMoved 呼び出し (または touchesMoved) を防止する
Cocos2D を使用して、シューティング ゲームの弾幕スタイルのゲームを作成します。1 本の指でドラッグして船を動かし、隅に火の層があります。
メイン層から、ccTouchesBegan、ccTouchesMoved、および ccTouchesEnded を検出します。CGPoint をロジック コントローラーに渡します。
タッチ ダウン ポイントが 2 つの「発射ボタン」レイヤーのいずれかの内側にある場合は、発射イベントをトリガーします。それ以外の場合は、プレイヤー船の新しい場所を設定します. タッチが火層エリアの外に移動すると、プレイヤーの船に新しい場所を設定します。
問題: Fire レイヤー内から非 Fire レイヤー スペースに指をドラッグすると、「タッチ ムーブ セット プレーヤーの位置」ルールにより、船がそのポイントにジャンプします。
どうすればこれをより適切に設計できますか?
おそらく、「タッチオブジェクト」の配列が必要であり、火のレイヤーの境界を越えるときにそれらを無効にします。ここで、タップしている場所を場所の配列と比較する「タッチオブジェクト」クラスをハックすることなく、理解すれば必要なコントロールを提供するタッチ処理に関する重要な概念が欠けているように感じます。
お知らせ下さい。ありがとう!
(はい、見ました:レイヤーが重なっているときにタッチ処理を 1 つのレイヤーに制限するにはどうすればよいですか?。それは私の質問には答えません。rectContainsPoint は、タッチが火のレイヤー内にあるか外にあるかを判断する方法です)。