3

この回答と同様の方法を使用してUIPageViewControllerでプログラムでページをめくると、ページインジケーターが更新されません。次/前のページにスワイプすると、ページインジケーターが期待どおりに更新されます。プログラムでページをめくるときにページインジケーターを更新するにはどうすればよいですか?つまり、ページをプログラムで変更した後、現在の「インデックス」を設定して、ページインジケータがアクティブとして表示するページインジケータを認識できるようにするにはどうすればよいですか。

ドキュメントで気づいたのですが、次のように述べられています。

「ページインジケータのサポート」の両方のメソッドが実装されていて、ページビューコントローラの遷移スタイルがUIPageViewControllerTransitionStyleScrollの場合、ページインジケータが表示されます。これらのメソッドは両方とも、setViewControllers:direction:animated:completion:メソッドが呼び出された後に呼び出されます。ジェスチャ駆動型ナビゲーションの後、これらのメソッドは呼び出されません。インデックスは自動的に更新され、ViewControllerの数は一定のままであると予想されます。

(上記の太字のテキストを参照)

UIPageViewControllerドキュメント

これは、ジェスチャを使用してページをめくらない場合、UIPageIndicatorsを更新する方法がないことを意味しますか?

よろしくお願いします。

4

2 に答える 2

3

正しいページ インデックスを使用して、次のデータ ソース プロトコル メソッドを実装できます。

- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController
{
 NSInteger currentPageIndex=0;
 //find out actual page index of the current view controller
return currentPageIndex;
}
于 2015-02-06T00:06:01.700 に答える
0

これは、ページ数最初のページPage Controlを 1 回設定していて、再度呼び出さないとにページを追加 (または削除) できないことを意味しますsetViewControllers:direction:animated:completion:。これは基本的に、プロトコル

で定義された書き込み専用のプロパティです。DataSource

于 2013-02-27T23:24:43.073 に答える