私は、UIViewControllerとタッチイベントをインターセプトするカスタムウィンドウを持っています。そのため、画面上でさまざまなUIViewをドラッグ&フリックできます。私が扱う3つのイベントタイプがあります:UITouchPhaseBeganとUITouchPhaseMoving(私は単純にタッチ座標に従ってサブUIViewを移動します)とUITouchPhaseEnded(ここでUIViewに力を加えて画面全体を移動させ、スローダウンします摩擦)。flicky/jerkyモーションでもUIScrollViewはどのようにスクロールしますか?
タッチイベントを終了するときに適用される力を計算する方法は、最後(UITouchPhaseMovingから)と現在(UITouchPhaseEndedから)タッチ位置の間の方向ベクトルを計算することですが、それは私に与えられていないようです私が望む結果。
私はビューを移動し、画面から滑らかにそれを移動するとうまく動きますが、私は "ジャーク"私は端に向かって動きを妨げるとき、それは期待どおりに移動しません。これは、数フレームにわたって画面全体を移動しても、最後の動きの動きがあまりにも近すぎるため、完全な力が計算されないためです。
申し訳ありませんが、私はUIScrollViewなどのビューがこの動きがぎっしりした動きでも正しくスクロールできることに気付きました。これは最後のフレームと現在のフレームではなく、複数のフレームにわたって最終的な力が計算されるためですか?もしそうなら、誰でもスクロールビューの内側の動作を知っていますか?それで、フリッキー/ジャッキーな動きでもうまく動作しますか?