0

シナリオ:

再利用されたページ ビューで UIScrollView を水平方向にスクロールします (そのため、UITableView セルと同様の方法で再利用されるページ ビュー コントローラーはほとんどありません)。それらを新しいコンテンツで更新して再利用できるようにするには、UIScrollView のコンテンツ ビュー (オフセット) の正確な位置を知る必要があります。これはうまくいきます。

ここで、カスタム スクロール アニメーションを実装する必要があります。ユーザーがいくつかのボタンに触れると、このカスタム アニメーションでスクロール ビューが目的の位置にスクロールするように、コンテンツ ビューをプログラムで移動することを意味します。動きは非常に速く、非常に遠くなる可能性があります。アニメーション中に位置を追跡できなかったため、これには Core Animation を使用できません (CA は、動きの開始と終了のみを報告します)。そこで、 CADisplayLinkを使用し、各位置の各 UIScrollView コンテンツを計算することにしました。これもうまくいきます。

唯一の問題は、ストロボ効果が時々見られることです。たとえば、コンテンツを右に移動すると、左に移動しているように見えます。setContentOffset:animated:を使用して UISCrollView 内の組み込みアニメーションを見ると、アニメーションはスムーズで素晴らしいものです。このストロボ効果を取り除く方法を知っている人はいますか?

4

1 に答える 1

0

おそらくあなたの問題は、タイムスタンプが であり、doubleそれをに割り当てていることですfloat

Float は 7 桁、Double は 15 ~ 16 桁です。

つまり、データの損失が発生しています。double を使用すると、シルクのように滑らかなアニメーションが表示されます。

于 2013-09-12T06:53:53.353 に答える