問題タブ [uigesturerecognizer]
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 - 複数の UIGestureRecognizer と UIScrollView が競合を引き起こす
サーフェス上で互いに一致するいくつかのゲーム タイルがあるジグソー パズルと比較できるゲームを開発しています (後で MainView として参照されます)。ゲームの開始時に、タイルは IdleView の MainView の下に配置されます。パンジェスチャーでタイルを動かします。タップ ジェスチャを使用してタイルを選択し、最後に回転ジェスチャでタイルを回転できるようにする必要があります。これにより、解決できたいくつかの問題が発生しましたが、タイルを一度に表示するには多くのタイルが必要なため、タイルを UIScrollView に配置する必要がありました。
私はいくつかの異なる実装を行いましたが、それらはすべていくつかの問題を引き起こしました。私が試したさまざまなアプローチを試してみます。
アプローチ 1. パン、タップ -> 並べて表示、回転 -> MainView
最初に、ゲーム タイルにタップとパンの認識機能を配置し、回転ジェスチャをメイン ビューに配置しました。これは、回転ジェスチャを実行するにはタイルが小さすぎるためです。そして、そのタイルはそれをパン ジェスチャとして解釈しました。これは、私が新しいアプローチを試みたことにつながります。
アプローチ 2. パン、タップ、回転 -> MainView
私の 2 番目のアプローチは、すべてのジェスチャ認識機能を MainView に配置することでした。次に、ジェスチャが認識されるたびに、タップとパンのジェスチャの場所にタイルがあるかどうかを確認します。
次に、回転ジェスチャの前に、タイルが選択されているかどうかを確認してから、対応するメソッドを呼び出します。これはうまくいきました!しかし、その後、画面全体に表示できるよりも多くのタイルを表示できるメカニズムが必要であることに気付きました。そこで、すべてにアクセスできるようにタイルを水平に配置する UIScrollView を追加しました。下にちょっと描いてみました。
次に、GameTiles をサブビューとしてスクロールビューに追加して、ビューと共にスクロールできるようにしました。その後、それらは私の MainView のサブビューではないため、私のタッチに耳を傾けなくなりました。だから今、私はもはや何をすべきかわからない膠着状態に陥っています。アプローチ 1 に戻り、UIScrollView に canCancelContentTouches = NO を設定すると、タイルを移動できます。しかし、回転ジェスチャで再び問題が発生し、タイルをスクロールビューからメインビューに移動できるように衝突検出を行う必要があります。
この問題に関する多くのさまざまな投稿を読みましたが、まだ理解できていません。
タッチを台無しにせず、ジェスチャー認識機能を使用できるように適切なサイズにすることができる UIScrollView とは別の方法で、誰かが私にいくつかのポインターを与えることができますか? または、タイルを UIScrollView から MainView にスムーズに移動し、他のタイルをパンせずにタイルを回転させる方法。
ios - Xcodeの文字列内の単語にTapRecognizerと別の色を追加します
plist からテキストを取得し、UIView に描画します。テキストには強調表示したい用語が含まれており、ユーザー操作が有効になっているため、辞書ビューに用語の説明が表示されます。
文字列上でそれらの位置を見つける方法を知っており、それはうまく機能します。しかし、それらを別の色で表示する方法が見つかりませんでした。そして、私にとってさらに重要なのは、タップ認識機能をそれらに追加する方法です。
助けていただければ幸いです。
ありがとうシャニ
iphone - タップしているUIImageViewのタグを取得する方法は?
私はいくつかのUIImageViewを持っており、それぞれにタグがあります。画像の配列があります。ユーザーがUIImageViewの1つをタップすると、アプリは配列から特定の画像を返します。
私はこのように実装します:
を見つけて、imageView.tag
に渡しimageView.tag
たい
画像を表示します。
tag
それらすべてにタグを付けました。問題は、タップしているimageViewをどのように見つけることができるかということです。読んでくれてありがとう^_^
ipad - UIBarButtonItem とは異なるタップ数で別のビューを表示する (UISegmentedControl をラップする)
私はUITouchとUIGestureRecognizerについて読んだことがありますが、それらの違いはまだ本当に混乱しています。私は1つのケースを持っています。私のアプリでは、barbuttonitem があり、そのボタンをタップすると別のビューを表示したいと考えています。シングルタップしたらテキストビューを表示したいのですが、もう一度シングルタップしたらそのボタンからポップオーバーを表示したいです。誰かが私にそれを行うためのサンプルコードを提供し、UITouch と UIGestureRecognizer の違いについて少し説明することができますか?
アップデート
barbuttonitem は UISegmentedControl のラッパーです。これは desain の写真です
touchesBegan:withEvent: と touchesEnded:withEvent: を使用してこの問題を解決しようとしましたが、その barbuttonitem に接続する方法がわかりません。これは私が作ったコードです:
}
}
}
}
}
私の理解に間違いはありますか?
objective-c - UIGestureRecognizer の UITouch オブジェクトを取得する
UITouch
ジェスチャに関連付けられたオブジェクトを取得する方法はありますか? UIGestureRecognizer
これにはメソッドがないようです。
uitableview - Gesture Recognizer と TableView
UITableView のすべてをカバーする UIView があります。UIView は、表の表示内容を制御するためにジェスチャ認識エンジンを使用しています。UITableView の垂直スクロールと行タップはまだ必要です。これらをジェスチャ認識エンジンからテーブルに渡すにはどうすればよいですか?
ios - ユーザーが x と y を負の方向にパンした場合、UIPanGestureRecognizer が「終了」または「キャンセル」の状態に切り替わらない
UIPanGestureRecognizer に少し問題があります。ユーザーが左上にパンした場合 (負の x 方向と y 方向を意味します)、Recognizer は UIGestureRecognizerStateEnded 状態を報告しません。
ユーザーが指を離したときにいずれかの方向が正の場合、状態は UIGestureRecognizerStateEnded に変わりますが、両方の方向が負またはゼロの場合はアクションの報告を停止します。
ユーザーが何かをドラッグし、失敗した場合にそれらのビューが返されない限り、一部のオーバーレイビューを非表示にするため、これは悪いことです。
もちろん、しばらくしてからオーバーレイを自動的に表示するように NSTimer をセットアップすることもできますが、コードに明らかなエラーは見られず、きれいにしたいと思います。
私が逃したものはありますか?それはアップルのバグですか?
初期化は次のようになります。
処理関数は次のようになります。
iphone - iPhone SDK でのマウス ダウンおよびアップのジェスチャ認識機能
ジェスチャ認識エンジンを使用して、マウスダウンとマウスアップの両方をキャッチしたい。ただし、マウスダウンが引っかかると、マウスアップが引っかかることはありません。
これが私がしたことです:
最初にカスタム MouseGestureRecognizer を作成します。
次に、レコグナイザーをビュー コントローラーのビューにバインドします。
ビューでマウスをクリックすると、touchesBegan が呼び出されますが、touchesEnded は呼び出されません。UIGestureRecognizerStateRecognized が原因ですか?
iphone - UIView全体のジェスチャレコグナイザ
いくつかのUIコンポーネントを含むUIView全体をアニメーション化する方法を見つけたいと思います。これが私のコードスニペットです:
「ピース」はここで回転させたいuiviewであり、完全に正常に機能します。しかし、その中に他のUIコンポーネント(UIbuttonなど)を追加すると(ピースビュー)、ユーザーがそれらのUIコンポーネントに触れたときにジェスチャが正しく認識されません。基本的に、ユーザーが子オブジェクトに触れた場合でも、親にジェスチャーを聞いてもらいたいと思います。
何か案は?
iphone - UIPanGestureRecognizer を使用して UIImageView を移動できません
UIPanGestureRecognizer を使用して、ユーザーが画面上で UIImageView をドラッグできるプログラムを作成しようとしています。私はいくつかの異なる方法を試しましたが、それを理解できません。送信者/要求者を作成する必要があるかどうかわかりません。私の理解では、ジェスチャーを処理できる UIView に UIImageView を配置する必要があります。私のプログラムには、View Controller - AdvancedViewController1 があります。AdvancedView1 という名前の UIView を作成しました。インターフェイス Builder で、AdvancedView1 を AdvancedViewController 1 に挿入しました。以下は、コントローラー.h
と.m
ビューのファイルです。関連するコードのみを含めました。私が近いかどうか、そしてコードを修正する方法を教えてください。よろしくお願いします。
IB では、IBOutlet を AdvancedView1 にリンクして UIView にリンクし、option1 を移動できるようにしたい UIImageView にリンクしました。