UIPageViewController を使用して、iPhone/iPad アプリでいくつかのページを表示しています。今、ユーザーがボタンを押すと、ランダムなページに移動したいと思います。ここで重要なことは、「いくつかの」ページをめくっているユーザーに「見せたい」ということです。Stackoverflow でいくつかの回答を調べて試してみました。シミュレートできる最善かつ唯一のことは、次のスニペットを使用してプログラムで「1」ページをめくる (つまり、ユーザーが 1 つのページめくりを見る) ことです。
[self.pageViewController
setViewControllers:[NSArray arrayWithArray:array]
direction:UIPageViewControllerNavigationDirectionForward
animated:YES completion:nil];
ここで、「いくつかの」ページめくりを表示したいと思います。つまり、ユーザーがページ 2 にいることを示します。次に、たとえば 5 ページに移動すると、現在、ページ 2 とページ 5 の間に「3」ページありますが、1 ページめくりしか表示されません。
定期的な遅延を伴う NSTimer を導入してみました。タイマーは 1 つのページに移動してから遅延し、次に別のページに移動してから遅延し (たとえば、3 回繰り返す)、ユーザーが「数回」のページ回転の「効果」を得ることができます。
[NSTimer scheduledTimerWithTimeInterval:0.2f target:self selector:@selector(goToRandomPage) userInfo:nil repeats:NO];
ただし、これにより、「最後の」ページめくりのみが表示されます。つまり、ページ 8 を表示するためにタイマーが 1 回起動され、次に 0.2 の遅延が発生し、次にページ 3 が表示され、次に 0.2 の遅延が発生し、次にページ 6 が表示されるとします。実際に表示されるもの (つまり、ユーザーが見るもの) は再び1ページめくり、つまり最後のページ(6ページめくり)だけです。
誰か助けてくれませんか?