私がサブビューを持つscrollViewを持っていて、サブジェスチャがパンジェスチャ認識機能を持っていれば、scrollViewのパンジェスチャーオーバーライドはサブビューのパンです。私が望むのは逆ですが、それはスクロールビュー内で移動するサブビューをドラッグするのですが、別の領域にタッチすると、スクロールビューは通常通り移動します。それを設定する簡単な方法はありますか?ここでUIScrollViewは私のサブビューのパンジェスチャー認識子をオーバーライドします
5
A
答えて
12
が私のためにどのような作品だ:
UIPanGestureRecognizer *subviewPanRecognizer = [[UIPanGestureRecognizer alloc]
initWithTarget:self action:@selector(panSubview:)];
[subview addGestureRecognizer:subviewPanRecognizer];
// play nice with subview's pan gesture
[scrollView.panGestureRecognizer
requireGestureRecognizerToFail:subviewPanRecognizer];
0
は、これら二つのデリゲート以下
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
return YES;
}
を上書きする。これは、両方のジェスチャーを認識することができます、デフォルトの戻りはNOです、上書きしてYESを返す必要があります。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
if ([gestureRecognizer isKindOfClass:[UITapGestureRecognizer class]]) {
if ([otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) {
return NO;
}else{
return YES;
}
}
return YES;
}このデリゲートあなたが望むようにそれはがotherGestureRecognizerで失敗する必要がありますgestureRecoginzerに名前を付けるだとしてあなたは、何でもできるで
は、あなたがする必要があるのはどのようなことを判断することですこれらの2つのジェスチャーの種類とYESまたはNOを返します。
関連する問題
- 1. UIScrollViewはサブビュー内のジェスチャ認識子を破棄します
- 2. Android用パンジェスチャー認識ツール?
- 3. UIScrollviewズームはUIScrollviewのサブビューを作成しています
- 4. UIScrollViewからサブビューを削除します。
- 5. UITextViewのUIScrollViewメソッドをオーバーライドします。touchEnded
- 6. UIScrollViewのサブビューのsetNeedsDisplayと
- 7. スウィフト - パンジェスチャー認識 - オブジェクトと共に移動 - 動きの速さ
- 8. サブビュー用の異なるタップ認識器
- 9. ポップビューコントローラーを使用して、画面のエッジのパンジェスチャー認識子が親指に従わない
- 10. UICollectionViewCellのサブビューとしてのUIScrollView - スーパービューにタップを渡します
- 11. サブビューではジェスチャ認識機能が動作しません
- 12. uiscrollviewでの垂直スクロールなし/ uiimageviewサブビュー
- 13. UIScrollViewのサブビューをグリッドパターンで追加する
- 14. 垂直パンジェスチャーを使用した水平スクロールUIScrollView
- 15. 認識できない構文識別子 "proto3"。このパーサーはLinkerdの "proto2"のみを認識します
- 16. SwiftはUIScrollViewサブビューに制約を追加します
- 17. は、UIScrollViewサブビューからストーリーボードUIViewControllerを提示します。
- 18. UIViewのサブビューをUIScrollViewに移植します。
- 19. コアプロットグラフのサブビュー付きUIScrollViewは頻繁にズームしません
- 20. オーバーライドされた<<演算子が認識されない
- 21. UIScrollViewからのサブビューの削除とメモリリーク
- 22. 水平ページング付きUIScrollViewはサブビューを中心にしません
- 23. UiScrollViewにスムーズにサブビューを追加する
- 24. UIScrollViewにランドスケープモードでサブビューを追加する
- 25. 動的なuiscrollviewサブビューを作成する
- 26. UIScrollViewにサブビューを追加する
- 27. 自動サイズ変更私はUIScrollViewのサブビュー正しく配向変化
- 28. UIScrollViewの - バウンスを認識し、私は次のことを意味し、無限UIScrollViewのの種類実装する代わりに
- 29. ボタンタップイベントはタップジェスチャー認識ツールでオーバーライドされますか?
- 30. ブラウザはJavaScriptの論理演算子を認識しません
これは、デフォルトの動作(UIIcageViewのUIImageViewサブビューを使用して実際に観察していること)のようです。誰かが確認/虚偽することができますか? – Norswap
それは私のためには機能しません –
特に、サブビューにデリゲートを適用し、 'gestureRecognizerShouldBegin:'を実装するとき、うまく動作します。 –