UIScrollView のSubViewがTouchesMovedで期待した位置情報を取れない

相変わらずカレンダーのViewにはまっていました.今回作成しているViewは,タイトルバーなどを表示するCalendarView,スクロールのためのUIScrollView,そしてその中に月単位でカレンダーを表示するMonthCalendarViewが入る構成です.
[,w600]


ここでTouchesMovedで取得した座標値が期待した値ではないのに,はまりました.

MonthCalendarViewのTouchesBegan, TouchesEndedをオーバライドして,ある日をタップして選択するのは何も問題ありませんでした.正しい座標値が取れました.ですがTouchesMovedをオーバーライドしてタッチした複数の日を選択しようとすると,移動量がやたらと小さく(200程度移動しているはずなのに座標値は10程度しか変化しない)なりました.

これはUIScrollViewのScrollEnabledをFalseにすると解決しました.カレンダー表示切り替えを滑らかなアニメーション表示するためにカレンダーと同じ大きさのUIScrollViewをはめ込んでいたのですが,これがタッチイベントの値を変えていたようです.スクロールを禁止すれば,そのような作用を与えない,ということでしょうか?

タッチイベントはViewの葉から根に向かって伝播するとプログラミングガイドにはあったので,UIScrollViewが噛んでいても,その子要素は見たままの座標値が取れるだろうと考えたのが,間違いのもとだったのかもしれません.