私はUIPageViewControllerを持っています。これには、ネットワーク経由で取り込まれたデータからインスタンス化されたビューコントローラが含まれています。ユーザーがページングして、最後の数ページになると、私は新しいネットワーク操作を開始し、新しいビューコントローラをUIPageViewControllerDataSource
のビューコントローラの変更可能な配列の最後に配置します。一般に、これはすべてうまくいきます。ユーザーが最後のページに到達した後、新しいページをUIPageViewControllerに追加するにはどうすればよいですか?
しかし、ネットワークが低速(またはユーザーが高速)の場合、ネットワーク操作が完了する前に最終ページに到達することができます。ユーザが最後のページに到達したときにpageViewController:viewControllerAfterViewController:が呼び出されるため、すでにnil
(「次のビューコントローラがないことを示すために」)が返されています。
UIPageViewControllerにもう一度pageViewController:viewControllerAfterViewController:
を呼び出す良い方法はありますか(ネットワーク操作が完了し、新しいページがあるときに、この呼び出しを強制してユーザーが新しいページを表示できるようにする)か?または回避策があります(おそらくユーザーが最後のページにページングするのを防ぐが、バウンスアニメーションを表示しています)。
私は同じ問題を抱えています。道を見つけたらここにあなたのソリューションを投稿してください。私も同じことをやります。 Thanks – ssloan