Ce que j'ai fait, c'est créer une page UIScrollView avec un cadre de la taille de l'écran et définir la taille du contenu à la largeur nécessaire pour tout mon contenu et une hauteur de 1 (merci Tonetel). J'ai ensuite créé des pages de menu UIScrollView avec des cadres définis pour chaque page, de la taille de l'écran, et j'ai défini la taille du contenu de chacune d'elles à la largeur de l'écran et à la hauteur nécessaire pour chacune d'elles. Ensuite, j'ai simplement ajouté chacune des pages de menu à la vue de pagination. Assurez-vous que la pagination est activée sur la vue de défilement de pagination mais désactivée sur les vues de menu (elle devrait être désactivée par défaut) et vous devriez être prêt à partir.
La vue défilante de la pagination défile désormais horizontalement, mais pas verticalement en raison de la hauteur du contenu. Chaque page défile verticalement mais pas horizontalement en raison des contraintes de taille de son contenu également.
Voici le code si cette explication a laissé quelque chose à désirer :
UIScrollView *newPagingScrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
[newPagingScrollView setPagingEnabled:YES];
[newPagingScrollView setShowsVerticalScrollIndicator:NO];
[newPagingScrollView setShowsHorizontalScrollIndicator:NO];
[newPagingScrollView setDelegate:self];
[newPagingScrollView setContentSize:CGSizeMake(self.view.bounds.size.width * NumberOfDetailPages, 1)];
[self.view addSubview:newPagingScrollView];
float pageX = 0;
for (int i = 0; i < NumberOfDetailPages; i++)
{
CGRect pageFrame = (CGRect)
{
.origin = CGPointMake(pageX, pagingScrollView.bounds.origin.y),
.size = pagingScrollView.bounds.size
};
UIScrollView *newPage = [self createNewPageFromIndex:i ToPageFrame:pageFrame]; // newPage.contentSize custom set in here
[pagingScrollView addSubview:newPage];
pageX += pageFrame.size.width;
}