我有以下情况:
在故事板中我有9个观点。 3"章节"每章都有2"页"。
当用户向上或向下滑动时,他们可以在第1章,第2章和第3章之间切换。 当用户进入第1,2或3章并向左滑动时,他们会获得该章节中的页面。
有关故事板的示意图,请参见下图:
所有这些视图都是通过pageviewcontroller加载的。
这可以通过iOS中的基本滑动手势轻松完成,但我们希望在您滑动时滚动。
到目前为止我所拥有的:
用户可以通过以下代码在3章之间滑动(滚动):
chapters = @[@"H1", @"H2", @"H3"];
UIPageViewController *pageViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageViewControllerStart"];
pageViewController.dataSource = self;
// Create all of the view controlers that display each page on the story board
viewControllers = [NSMutableArray array];
for (int i = 0; i < chapters.count; i++) {
start *vc = [self.storyboard instantiateViewControllerWithIdentifier:chapters[i]];
vc.index = i;
[viewControllers addObject:vc];
}
// Set the default page to the first in the array and send it to the page view controller
NSArray *defaultViewController = [NSArray arrayWithObject:viewControllers[slideNum]];
///
pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationVertical options:nil];
pageViewController.dataSource = self;
pageViewController.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height - 0.01);
[pageViewController setViewControllers:defaultViewController direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:nil];
///
[self addChildViewController:pageViewController];
[self.view addSubview:pageViewController.view];
[pageViewController didMoveToParentViewController:self];
此代码生成&#34;章节&#34;垂直滑动滚动。
但是我如何实现&#34;页面&#34;在这段代码中,当用户在章节上向左滑动时,它们会水平滚动吗?
答案 0 :(得分:0)
我认为您应该使用更模块化的故事板,为页面添加一个回收的VC,您可以加载它的多个副本但分配不同的内容。故事板不适用于重复布置相同类型的视图。
您将需要使用嵌套滚动视图。一个滚动视图上下翻页包含许多滚动视图,左右滚动页面。您可以将-pagingEnabled
设置为正确翻页。