Это действительно просто.Как предположил ваш друг, вам понадобится как минимум два UIScrollView
.Вам понадобится один UIScrollView
для горизонтального (т. Е. Подкачки), и вам потребуется один UIScrollView
для каждой страницы.Ключевыми точками являются (назовем их scrollHorizontal
и scrollVertical
):
scrollHorizontal.frame.height
должно равняться scrollHorizontal.contentSize.height
(в противном случае вы получите вертикальную подкачку) scrollVertical
: во-первых, у вас будет по одному для каждой страницы.Ширина кадра и contentSize.width
должны совпадать и иметь смысл с шириной страницы (в вашем scrollHorizontal
).Конечно, высота кадра должна быть не более scrollHorizontal.contentSize.height
.
Пример кода:
UIScrollView scrollHorizontal = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
scrollHorizontal.pagingEnabled = YES;
scrollHorizontal.directionalLockEnabled = YES; // not needed but helpful
// Now let's create each page
UIScrollView *scrollPage1 = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
[scrollPage1 addSubview:theContentViewForPage1];
scrollPage1.contentSize = CGSizeMake(self.view.bounds.size.width, theContentViewForPage1.bounds.size.height);
// Add page to scrollHorizontal
[scrollHorizontal addSubview:scrollPage1];
[scrollPage1 release];
//...add more pages (REMEMBER to set the scroll view's frame.origin.x accordingly for each additional page)
// Set the scrollHoriztonal content size
scrollView.contentSize = CGSizeMake(self.view.bounds.size.width*NUMBER_OF_PAGES, self.view.bounds.size.height);
// Now add the scrollview to self.view; or even self.view = scrollHorizontal, etc.