AppleのWeather.appのように機能するアプリをコーディングしています。画面の下部にUIPageControlがあり、画面の中央にUIScrollViewがあります。私のコードでは- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
、ユーザーがいつ新しいページに移動したかを把握するためのメソッドを実装しました。新しいページに移動した場合は、隣接するページのデータを読み込んで、ページの切り替えをさらに高速化します。(Appleの例の1つでは、- (void)scrollViewDidScroll:(UIScrollView *)sender
が使用されていますが、新しいページをロードするときにアプリがすぐにハングするため、適切ではありません。)このコードは非常にうまく機能します。
scrollRectToVisible:
ユーザーがUIPageControlをクリックしたときに、プログラムでスクロールビュー内をスクロールするために:を使用しています。問題は、scrollRectToVisible:
スクロールが完了したときにUIScrollViewDelegateに通知を送信しないことです。そのため、UIPageControlを使用しているときに、隣接するページの読み込みを担当するコードが呼び出されることはありません。
UIScrollViewがメソッドによって呼び出されたときにデリゲートに通知するscrollRectToVisible:
方法はありますか?または、アプリがフリーズするのを防ぐためにスレッドを使用する必要がありますか?
ありがとう!
--Ry