私はサブクラス化したUITableViewCellをカスタム描画しています。そこには、ユーザーのやりとりを必要とするOpenGL ES 2.0コントロールがあります。コントロールを水平にドラッグすると、コントロールが応答しますが、垂直方向に移動するとすぐに、テーブルビューのビューポートが移動し始めます。どのようにしてこのインタラクションがUITableViewに行くのを止め、それをUITableViewCellの自分のUIViewに限定しますか?ユーザ対話の伝播をキャプチャして停止するiOS UITableViewCell
0
A
答えて
1
あなたは試すことができますUITableViewをサブクラス化して以下のメソッドをオーバーライドする
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
// if user tapped on your custom view, disable scroll
self.scrollEnabled = NO;
// end if
[super touchesBegan:touches withEvent:event];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
self.scrollEnabled = YES;
[super touchesEnded:touches withEvent:event];
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
self.scrollEnabled = YES;
[super touchesCancelled:touches withEvent:event];
}
1
UITableViewでのユーザーのやりとりを防ぐことはできません。すべてのサブビューに影響するためです。
私はあなたがそれを使いたいメソッドにUITableViewインタラクションを送信しようとします。
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
[MyClass myScrollDidStartMethod];
}
または使用 - (無効)scrollViewDidScroll:(UIScrollViewの*)送信者を使用すると、スクロール方向を取得するために、送信者のcontentOffsetに取り組むことができるように(これについての詳細はthis postを参照)
関連する問題
- 1. 停止伝播
- 2. 停止SMS伝播
- 3. javascriptイベントの伝播を停止
- 4. Meteorでのイベントの伝播を停止します
- 5. クイックjQuery質問:イベントの伝播を停止しますか?
- 6. Python tkinter:テキストウィジェットのイベントの伝播を停止するタグ
- 7. フォーカスJQueryでイベントを伝播を停止する
- 8. GWT取り扱いonBlurイベントは、イベントの伝播を停止している
- 9. デリゲートを使用しているときにイベントの伝播を停止する方法はありますか?
- 10. タッチイベントの伝播
- 11. jQueryの伝播
- 12. コードまたはデータベースで伝播が伝播しましたか?
- 13. WPFでオーバーラップするUIオブジェクトをドラッグアンドドロップするときのイベントの伝播を停止する方法
- 14. ストップ伝播jquery
- 15. jeditable伝播
- 16. コントロールイベント伝播フレックス
- 17. VB6エラーの伝播
- 18. tsharkコマンドを使用してwiresharkキャプチャを停止する方法
- 19. IE9ベータ版で伝播するクリックイベントを停止する最も良い方法は何ですか?
- 20. は、ロック伝播に
- 21. Flash AS3イベント伝播
- 22. Python例外伝播
- 23. Scala型のパラメータを伝播する
- 24. オプションの引数を伝播する
- 25. jQueryの伝播の問題
- 26. イベントを他のクラスに伝播してカスタマイズする方法は?
- 27. C#での例外伝播
- 28. JBossデータベースのID伝播?
- 29. タッチ/クリックイベントの伝播ルール
- 30. Google Cloud Storageの伝播
ありがとうございます。サブクラス化は必要ありません。 –