オーバーライドする UIScrollView のサブクラスがあります
touchesBegan:withEvent: touchesMoved:withEvent:
touchesEnded:withEvent:
これら 3 つをオーバーライドすることは、広く使用されている手法のようです (フォーラムでの私の観察に基づくと)。しかし、OS3 でこのコードをコンパイルするとすぐに、これらのメソッドは呼び出されなくなりました。他の誰かがこの問題を見たことがありますか? 文書化されていない方法を使用しない既知の修正はありますか?
私の最初の解決策の試みは、すべての touchesBegan/Moved/Ended メソッドをコンテンツ ビューとセットに移動することでした。
delaysContentTouches = NO; canCancelContentTouches = NO;
これは部分的に機能しましたが、ズームするとパンできなくなりました。私の 2 回目の試行では、2 回のタッチがあったときにのみ canCancelContentTouches = NO を設定しました (したがって、ピンチ ジェスチャがコンテンツに渡されます)。この方法は大ざっぱで、うまく機能しませんでした。
何か案は?私の要件は、スクロール ビューがパン タッチを処理する必要があり、ズーム タッチを処理する必要があることです。