ScrollView の無限ページングについて質問があります。私のアプリでは、ScrollView に 3 つのサブビューしかありません。各サブビューは xib ファイルからロードされます。通常、ScrollView では ABC のように見えます。無限ページングを作りたかったので、エンドキャップを追加し、CABCA のようになりました。ユーザーが最初の C にいる場合は通常の C にジャンプし、ユーザーが最後の A にいる場合は通常の A にジャンプします。コードは次のとおりです。
- (void)scrollViewDidEndDecelerating:(UIScrollView *)sender {
if (scrollView.contentOffset.x == 0)
{
[scrollView scrollRectToVisible:CGRectMake
((scrollView.frame.size.width * 3), 0,
scrollView.frame.size.width,
scrollView.frame.size.height) animated:NO];
}
else if (scrollView.contentOffset.x == scrollView.frame.size.width * 4)
{
[scrollView scrollRectToVisible:CGRectMake
(scrollView.frame.size.width, 0,
scrollView.frame.size.width,
scrollView.frame.size.height) animated:NO];
}
}
今では完全に機能します。しかし、サブビューごとに ViewController があり、これが ScrollView に追加する方法です。
subViewController1 = [[SubViewController1 alloc] initWithNibName:@"SubView" bundle:nil];
subViewController1.view.frame =
CGRectMake(0, 0, scrollView.frame.size.width, scrollView.frame.size.height);
[scrollView addSubview:subViewController1.view];
問題は、A ビューと C ビューの複製が 1 つあるため、3 つではなく 5 つのコントローラーがあることです。また、A ビューに何かを追加したい場合は、A ビューの複製にも追加する必要があります。
ビュー A と A の複製を 1 つのコントローラーで制御して、1 つのコントローラーの 2 つのインスタンスを作成する必要がないようにする方法はありますか? ありがとうございました。