2011-08-15 3 views
0

私は自分自身を実装するためにUIScrollViewのデフォルトの減速動作を無効にする良い理由がありました。ユーザーがドラッグを終了すると、私は減速するNSTimerを開始)スクロールビューを手動で減速するとスクロールインジケータが表示されないのはなぜですか?

1:私は何

はこれです。

2)タイマーが定期的にこのようなscrollviewをスクロールメソッドを呼び出します:

[self setContentOffset:CGPointMake(self.contentOffset.x, self.contentOffset.y + dy) animated:NO]; 

をスクロールビューがうまく、私はそれをしたいかだけの方法を減速します。

しかし、私のタイマーがスクロールを減速させるとすぐに、スクロールインジケータがcontentViewにスティックされ、完全に上下にスライドして消えます。

-flashScrollIndicatorsを呼び出すと、スクロールを手動でアニメーション化している間に表示されるようにはなりません。

他の人にも起こりましたか?

+0

「scrollIndicator」は標準のスクロール動作で使用されると考えられます。あなた自身のロールを*ロールバックしなければならないかもしれません。... – Mundi

+1

デフォルトの動作を使用するのではなく、独自の減速を行う良い理由を想像するのは難しいです。なぜあなたはこれをやっている? – jtbandes

答えて

0

メイン(GUI)スレッドでタイマーを実行していますか?もしそうなら、タイマが満了するまでGUIをロックしているかもしれません。新しいスレッドを回転してタイマーを実行し、InvokeOnMainThreadを使用してスクロールビューを目的の場所に更新するコールバックメソッドを実装してください。

関連する問題