是否可以在UIPageViewController中以编程方式翻页?

是否可以以编程方式翻页UIPageViewController



一只名叫tom的猫
浏览 634回答 3
3回答

HUWWW

是的,可以使用以下方法:- (void)setViewControllers:(NSArray *)viewControllers                  direction:(UIPageViewControllerNavigationDirection)direction                   animated:(BOOL)animated                 completion:(void (^)(BOOL finished))completion;`这与在页面上设置第一个视图控制器的方法相同。类似,您可以使用它来转到其他页面。不知道为什么viewControllers是数组,而不是单个视图控制器?那是因为页面视图控制器可以有一个“书脊”(就像在iBooks中一样),一次显示2页内容。如果一次显示1页内容,则只传入1元素数组。Swift中的一个例子:pageContainer.setViewControllers([displayThisViewController], direction: .Forward, animated: true, completion: nil)

慕莱坞森

这是单个分页视图的另一个代码示例。这里省略了viewControllerAtIndex的实现,它应该返回给定索引的正确视图控制器。- (void)changePage:(UIPageViewControllerNavigationDirection)direction {    NSUInteger pageIndex = ((FooViewController *) [_pageViewController.viewControllers objectAtIndex:0]).pageIndex;    if (direction == UIPageViewControllerNavigationDirectionForward) {        pageIndex++;    }    else {        pageIndex--;    }    FooViewController *viewController = [self viewControllerAtIndex:pageIndex];    if (viewController == nil) {        return;    }    [_pageViewController setViewControllers:@[viewController]                                  direction:direction                                   animated:YES                                 completion:nil];}可以通过调用更改页面[self changePage:UIPageViewControllerNavigationDirectionReverse];[self changePage:UIPageViewControllerNavigationDirectionForward];
打开App,查看更多内容
随时随地看视频慕课网APP