タグ付けされた質問 「uigesturerecognizer」

7
押したときにUILongPressGestureRecognizerが2回呼び出される
ユーザーが2秒間押し続けたかどうかを検出しています。 UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)]; longPress.minimumPressDuration = 2.0; [self addGestureRecognizer:longPress]; [longPress release]; これは私が長押しを処理する方法です: -(void)handleLongPress:(UILongPressGestureRecognizer*)recognizer{ NSLog(@"double oo"); } 2秒以上押し続けると、「double oo」というテキストが2回印刷されます。どうしてこれなの?どうすれば修正できますか?

17
iOS 7のUINavigationControllerで戻るスワイプジェスチャーを無効にする方法
iOS 7では、Appleは新しいデフォルトのナビゲーション動作を追加しました。画面の左端からスワイプすると、ナビゲーションスタックに戻ることができます。しかし、私のアプリでは、この動作がカスタムの左メニューと競合します。では、UINavigationControllerでこの新しいジェスチャーを無効にすることは可能ですか?

11
UIGestureRecognizerを複数のビューにアタッチできますか?
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapTapTap:)]; [self.view1 addGestureRecognizer:tapGesture]; [self.view2 addGestureRecognizer:tapGesture]; [tapGesture release]; 上記のコードではタップのみview2が認識されます。3行目をコメント化すると、タップview1が認識されます。私が正しく、ジェスチャー認識機能を1回しか使用できない場合、これがバグなのか、それともいくつかのドキュメントが必要なだけなのかわかりません。

8
UIImageViewのUIGestureRecognizer
私が持っているUIImageView、私はサイズを変更することができるようにしたい、と回転などを UIGestureRecognizerに追加できますUIImageViewか? UIImageView実行時に作成されるに、回転とピンチの認識機能を追加したいと思います。 これらの認識機能をどのように追加しますか?

23
プログラムでUIViewのジェスチャータップをすばやく呼び出す方法
UIViewがあり、それにタップジェスチャーを追加しました。 let tap = UITapGestureRecognizer(target: self, action: Selector("handleTap:")) tap.delegate = self myView.addGesture(tap) 私はそれをtestfileでプログラム的に呼び出そうとしています。 sendActionForEvent この機能を使用していますが、機能しません。 myView.sendActionForEvent(UIEvents.touchUpDown) インスタンスに送信された認識されないセレクターを示しています。 この問題を解決するにはどうすればよいですか?

9
UITapGestureRecognizer-シングルタップとダブルタップ
UITapGestureRecognizersビューに2 つ追加しようとしています。1つはシングルタップイベント用、もう1つはダブルタップイベント用です。シングルタップレコグナイザは期待どおりに動作します(それ自体)。しかし、ダブルタップレコグナイザーを機能させることができないようです。 持っては、同様の特性を試してみました:cancelsTouchesInView、delaysTouchesBeganそしてdelaysTouchesEndedまだ動作しません。 ダブルタップすると、シングルタップ認識機能が常にアクティブになり、ダブルタップイベントもスーパービューに送信されます。しかし、カスタムダブルタップ認識機能はまったく通知されないようです。 ドキュメントは、上記の3つのプロパティを目的に使用できることを示唆しているようです。しかし、どの値を設定し、どのレコグナイザ(シングル、ダブル、または両方)に設定する必要があるのか​​、私にはわかりません。これに精通している誰かが助けてくれることを願っています。 以下は、最新の更新されたコードブロックです。 // ****** gesture recognizers ****** - (void)addSingleAndDoubleTapGestureRecognizersToView:(UIView *)view { // single tap UITapGestureRecognizer *singleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: tableViewController action: @selector(handleSingleTapOnView:)]; [singleTapRecognizer setNumberOfTouchesRequired:1]; [view addGestureRecognizer: singleTapRecognizer]; // double tap UITapGestureRecognizer *doubleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: tableViewController action: @selector (handleDoubleTapOnView:)]; [doubleTapRecognizer setNumberOfTouchesRequired:2]; [singleTapRecognizer requireGestureRecognizerToFail: doubleTapRecognizer]; …

22
UIPanGestureRecognizer-垂直または水平のみ
私が持っているビュー持つUIPanGestureRecognizer垂直ビューをドラッグすることを。したがって、レコグナイザコールバックでは、y座標のみを更新して移動します。このビューのスーパービューにはUIPanGestureRecognizer、ビューを水平方向にドラッグし、x座標を更新するだけのがあります。 問題は、最初UIPanGestureRecognizerのイベントがビューを垂直方向に移動することです。そのため、スーパービュージェスチャーを使用できません。 私が試してみました - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer: (UIGestureRecognizer *)otherGestureRecognizer; 両方とも動作しますが、私はそれを望んでいません。動きが明らかに水平である場合にのみ、水平が検出されるようにしたい。ですから、それがUIPanGestureRecognizer方向プロパティを持っていたら素晴らしいでしょう。 この動作を実現するにはどうすればよいですか?私はドキュメントが非常に混乱しているので、多分誰かがここでそれをよりよく説明できるでしょう。

21
UIPageViewControllerのスワイプジェスチャーを無効にするにはどうすればよいですか?
私の場合、親をUIViewController含む、UIPageViewControllerを含む、UINavigationControllerを含むUIViewController。最後のビューコントローラーにスワイプジェスチャーを追加する必要がありますが、スワイプはページビューコントローラーに属しているかのように処理されます。これをプログラムとxibの両方で実行しようとしましたが、結果はありませんでした。 だから私は理解しているようにUIPageViewController、ジェスチャーを処理するまで目標を達成することはできません。この問題を解決するには?

6
ジェスチャー認識機能とボタンアクション
次のようなビュー階層があります。 UIView (A) UIView > UIImageView UIView > UIView (B) UIView > UIView (B) > Rounded Rect Button UIView > UIView (B) > UIImageView UIView > UIView (B) > UILabel ジェスチャレコグナイザをUIViewに接続しました(B)。私が直面している問題は、UIView(B)内にあるRounded Rect Buttonのアクションを取得できないことです。singleTapジェスチャー認識機能は、ボタンのTouch Up Insideイベントをキャプチャー/オーバーライドします。 どうすれば機能させることができますか?レスポンダーチェーンの階層により、ボタンタッチイベントが優先されることが確実になり、トリガーされます!何が欠けていますか? ここにいくつかの関連コードがあります: #pragma mark - #pragma mark View lifecycle (Gesture recognizer setup) - (void)viewDidLoad { …

18
UINavigationControllerでナビゲーションバーを非表示にするときにスワイプバックしない
ビューをに埋め込むことで継承されたスワイプパックが大好きUINavigationControllerです。残念ながら、非表示にする方法が見つからないようですNavigationBarが、タッチパンをスワイプして戻しgestureます。カスタムジェスチャを書くことはできますが、代わりにUINavigationControllerバックスワイプを使用せず、それに依存することを好みgestureます。 ストーリーボードでチェックを外すと、バックスワイプが機能しません あるいは、プログラムで非表示にした場合も、同じシナリオです。 - (void)viewDidLoad { [super viewDidLoad]; [self.navigationController setNavigationBarHidden:YES animated:NO]; // and animated:YES } トップを非表示にしNavigationBarてスワイプする方法はありませんか?

10
UIGestureRecognizerは、タッチイベントを処理するためのサブビューをブロックします
私はこれがどのように正しい方法で行われるかを理解しようとしています。私は状況を描写しようとしました: のUITableViewサブビューとしてを追加していUIViewます。UIViewTAP-に応答しpinchGestureRecognizerますが、その際、テーブルビューは、(それがまだ気の抜けたビールに反応)これら二つのジェスチャーに反応停止します。 私はそれを次のコードで動作させるようにしましたが、それは明らかに良い解決策ではなく、より良い方法があると確信しています。これはUIView(スーパービュー)に入れられます: -(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { if([super hitTest:point withEvent:event] == self) { for (id gesture in self.gestureRecognizers) { [gesture setEnabled:YES]; } return self; } for (id gesture in self.gestureRecognizers) { [gesture setEnabled:NO]; } return [self.subviews lastObject]; }
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.