View Controller(UIViewControllerのカスタムサブクラス)でUIコンポーネントのいくつかを操作しています。方法はtouchesBegan:withEvent:
,touchesMoved:withEvent:
、およびtouchesEnded:withEvent:
です。それは正常に動作していた。次に、階層のトップビューとしてスクロールビュー(UIScrollView)を追加しました。UIScrollViewはtouchesBeganを防ぎます、touchesMoved、View ControllerでtouchesEndedを返します
今、ビューコントローラのマイタッチハンドラが機能しません。彼らは呼ばれない。興味深いのは、スクロールビュー内で動作する他のさまざまなUIコンポーネントがあることです。いくつかはボタンであり、いくつかは独自のtouchesBegan:withEvent:
などを定義するカスタムビューです。機能しないのはビューコントローラ上のタッチハンドラだけです。
私は、スクロールビューは、独自の目的のためにタッチを傍受されているので、多分それはだと思ったが、私はUIScrollViewのをサブクラス化し、私はそれが私がtouchesShouldCancelInContentView:
から常にtouchesShouldBegin:withEvent:inContentView:
とNO
から常にYES
を返しています仕事を得ることができればちょうど見るために。まだ動作しません。
もし私のビューコントローラがタブバーコントローラ内にありますが、それは関係がないと思います。
誰もこの問題を抱えており、解決策がありますか?私の推測はレスポンダーチェーンの上のスクロールビューのサルです。それを元に戻すことはできますか?私は他の何かを描くことができないと思う私は私のスクロールビューの下でトップレベルのビューをカスタムビューにし、ビューコントローラにメッセージを転送するが、クルージュのようだ。
がここhttp://stackoverflow.com/questions/1685956/uiscrollview-touchesbegan/17759373#私の答えをフォロー17759373 – Rajneesh071