【发布时间】:2015-04-14 19:19:37
【问题描述】:
我有以下情况:
在故事板中,我有 9 个视图。 3“章”,每章有2“页”。
当用户向上或向下滑动时,他们可以在第 1 章、第 2 章和第 3 章之间切换。 当用户进入第 1 章、第 2 章或第 3 章并向左滑动时,他们会看到该章中的页面。
有关情节提要的示意图,请参见下图:
所有这些视图都是通过 pageviewcontroller 加载的。
这可以通过 iOS 中的基本滑动手势轻松完成,但我们希望它在您滑动时滚动。
到目前为止我所拥有的:
用户可以通过以下代码在三个章节之间滑动(滚动):
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];
此代码使“章节”完美地垂直滚动。
但是我怎样才能在这段代码中实现“页面”,以便当用户在他们所在的章节上向左滑动时它们会水平滚动?
【问题讨论】:
标签: ios objective-c uipageviewcontroller swipe-gesture