gpt4 book ai didi

objective-c - 在给定索引上启动 UIPageViewController

转载 作者:搜寻专家 更新时间:2023-10-30 20:05:18 25 4
gpt4 key购买 nike

我正在使用以下代码来初始化我的 UIPageViewController:

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController {
NSUInteger index = ((PageContentViewController*) viewController).pageIndex;

if ((index == 0) || (index == NSNotFound)) {
return nil;
}

index--;
return [self viewControllerAtIndex:index];
}

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
NSUInteger index = ((PageContentViewController*) viewController).pageIndex;

if (index == NSNotFound) {
return nil;
}

index++;
if (index == [self.roosterWeken count]) {
return nil;
}
return [self viewControllerAtIndex:index];
}

- (PageContentViewController *)viewControllerAtIndex:(NSUInteger)index {
if (([self.roosterWeken count] == 0) || (index >= [self.roosterWeken count])) {
return nil;
}

// Create a new view controller and pass suitable data.
PageContentViewController *pageContentViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageContentViewController"];

pageContentViewController.rooster = [self.roosterWeken objectAtIndex:index];
pageContentViewController.pageIndex = index;

return pageContentViewController;
}

- (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController {
return [self.roosterWeken count];
}

- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController {
return 0;
}

在我的异步 AFNetworking 函数中,我在 Complete 上调用了以下内容

 PageContentViewController *startingViewController = [self viewControllerAtIndex:0];
NSArray *viewControllers = @[startingViewController];
[self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];

一切正常,但如何让我的 UIPageViewController 在点 3 上启动? (并且能够左右滚动,因为我们不在第一个点上)。

编辑

解决方案是:

PageContentViewController *startingViewController = [self viewControllerAtIndex:2];

最佳答案

要从第 3 点开始,请将演示文稿索引设置为 2:

- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController {
return 2;
}

并告诉 pageViewController 在初始化时显示该 viewController:

[self.pageViewController setViewControllers:[viewControllers[2]] direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];

关于objective-c - 在给定索引上启动 UIPageViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26326993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com