私はUIScrollView内にサブビューを持っています。サブビュー内には、複数のボタンがある画像があります。私は2つの指スワイプジェスチャーをコード化して、ユーザーが上下左右にスワイプして別のビューをナビゲーションコントローラーにポップすることができるようにしました。ビューが読み込まれると、簡単にスワイプすることができ、期待どおりに機能します。しかし、ズームインしたり、途中で外したりすると、2本の指のスワイプジェスチャは無視されます。私が運が良ければ、ズームイン/アウト時に認識されることがありますが、そのような動作をユーザーに許可することはできません。誰でも助けてくれますか?ありがとうございました。ズーム時にスウィープジェスチャーが機能しない
0
A
答えて
0
私はジェスチャー認識デリゲートメソッドのrequireGestureRecognizerToFailを使用してそれを理解することができました。私はすべての方向に2本の指のスワイプが必要でした。最初にパンジェスチャ認識機能を作成し、最小値と最大値の適切な量を設定しました。パンジェスチャーのデリゲートを自分に設定し、各スワイプジェスチャーにrequireGestureRecognizerToFailを設定する必要があります。スワイプジェスチャーコレクションを渡すことを忘れないでください.SimultaneouslyWithGestureRecognizerを再認識してください。
- (void)viewDidLoad
{
[super viewDidLoad];
scrollView.contentSize = CGSizeMake(image.frame.size.width, image.frame.size.height);
scrollView.maximumZoomScale = 4;
scrollView.minimumZoomScale = 1;
scrollView.delegate = self;
UIPanGestureRecognizer *TwoFingerPanGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(HandlePanGesture:)];
TwoFingerPanGesture.minimumNumberOfTouches=2;
TwoFingerPanGesture.maximumNumberOfTouches=2;
[TwoFingerPanGesture setDelegate:self];
[scrollView addGestureRecognizer:TwoFingerPanGesture];
UISwipeGestureRecognizer *TwoFingerSwipeDownGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(HandleSwipeGesture:)];
TwoFingerSwipeDownGesture.direction = UISwipeGestureRecognizerDirectionDown;
TwoFingerSwipeDownGesture.numberOfTouchesRequired = 2 ;
[TwoFingerPanGesture requireGestureRecognizerToFail:TwoFingerSwipeDownGesture];
[scrollView addGestureRecognizer:TwoFingerSwipeDownGesture];
UISwipeGestureRecognizer *TwoFingerSwipeUpGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(HandleSwipeGesture:)];
TwoFingerSwipeUpGesture.direction = UISwipeGestureRecognizerDirectionUp;
TwoFingerSwipeUpGesture.numberOfTouchesRequired = 2;
[TwoFingerPanGesture requireGestureRecognizerToFail:TwoFingerSwipeUpGesture];
[scrollView addGestureRecognizer:TwoFingerSwipeUpGesture];
UISwipeGestureRecognizer *TwoFingerSwipeLeftGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(HandleSwipeGesture:)];
TwoFingerSwipeLeftGesture.direction = UISwipeGestureRecognizerDirectionLeft;
TwoFingerSwipeLeftGesture.numberOfTouchesRequired = 2;
[TwoFingerPanGesture requireGestureRecognizerToFail:TwoFingerSwipeLeftGesture];
[scrollView addGestureRecognizer:TwoFingerSwipeLeftGesture];
UISwipeGestureRecognizer *TwoFingerSwipeRightGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(HandleSwipeGesture:)];
TwoFingerSwipeRightGesture.direction = UISwipeGestureRecognizerDirectionRight;
TwoFingerSwipeRightGesture.numberOfTouchesRequired = 2;
[TwoFingerPanGesture requireGestureRecognizerToFail:TwoFingerSwipeRightGesture];
[scrollView addGestureRecognizer:TwoFingerSwipeRightGesture];
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
// Either just return YES to allow your cell's gesture recognizer
// to work simultaneously with all other recognizers:
//return YES;
// Or you can decide whether your cell's pan gesture recognizer should
// recognize simultaneously with otherGestureRecognizer. For example,
// you could get a reference to your collection view's panGestureRecognizer
// and only return YES if otherGestureRecognizer is equal to that recognizer:
return otherGestureRecognizer == scrollView.gestureRecognizers;
}
関連する問題
- 1. スクロールビューでズームが機能しない
- 2. Xcode 8のアップグレード後にズームが機能しない
- 3. ズーム時にモバイルウェブサイトがスクロールしない
- 4. ファンシーボックスとエレベータ・ズームを組み合わせたもの。ズームが機能しない
- 5. WKWebViewズームが正しく機能しない
- 6. クリック時にブートストラップドロップダウンメニューが機能しない
- 7. テキストラップ時にブーストラップが機能しない
- 8. エクスポート時にリソースフォルダが機能しない
- 9. プリセット時にクリアボタンが機能しない
- 10. アクティブレンダリング時にキーリストが機能しない
- 11. D3ズーム、角度2でドラッグが機能しない素材デザイン
- 12. OSX Cocoa NSCollectionViewFlowLayoutズーム/倍率の水平スクロールが機能しない
- 13. D3のパン/ズーム動作がモバイルSafariで機能しない
- 14. QWidgetのズーム機能
- 15. UITableViewのズーム機能
- 16. Matplotlib imshowズーム機能?
- 17. このズーム機能とズーム機能を実現する方法
- 18. ロード時のjqueryが機能しない
- 19. 時間ウィンドウが機能しない
- 20. クリック時Jqueryアラートイベントが機能しない
- 21. OpenCVのズーム機能奇妙な結果
- 22. Android:Google機能のようなズーム機能を備えたグリッドビュー
- 23. Jframeのズーム機能は?
- 24. JavaScriptがテーブル作成時にSorttable.js(Javascriptテーブルソート)が機能しない
- 25. 即時にMKMapviewが正しく機能しない
- 26. D3強制有向グラフのドラッグ&ズーム機能が動作しない
- 27. データの出力時にスクリプトが正常に機能しない
- 28. D3でズーム機能を設定した後にズーム機能を削除する方法は?
- 29. PHP - 機能メールが機能しない
- 30. ログイン時にJavaサーブレットフィルタが機能しない
既に試したコードを共有できますか? –