iOS: paginação infinita do ScrollView - Tampas de extremidade duplicadas
Eu tenho uma pergunta sobre a paginação infinita em um ScrollView. No meu aplicativo, tenho apenas três subvisualizações no ScrollView. Cada subvisualização é carregada do arquivo xib. Normalmente parece ABC no ScrollView. Eu queria fazer paginação infinita, então adicionei tampões e agora parece CABCA. Se o usuário está no primeiro C, ele pula para o C normal e se o usuário estiver no último A, ele pula para o normal A. Aqui está um código:
- (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];
}
}
Isso funciona perfeitamente agora. Mas eu tenho ViewController para cada subview e é assim que eu estou adicionando-os ao 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];
Problema é que há uma duplicata de A e C, então agora eu tenho 5 controladores em vez de 3. E se eu quiser adicionar algo em uma visão, eu tenho que adicioná-lo também em duplicar de uma visão.
Existe uma maneira de controlar a exibição A e duplicar A com um controlador, portanto, não preciso criar duas instâncias de um controlador? Obrigado.