【发布时间】:2016-06-14 05:28:16
【问题描述】:
我已按照本教程创建 PageViewController http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/ 问题是我错误地获取了页面,其余的一切都很完美
如果页面索引是最后一个索引,我需要做一些事情,然后我更改按钮标签。
- (PageContentViewController *)viewControllerAtIndex:(NSUInteger)index
{
if (([self.pageImages count] == 0) || (index >= [self.pageImages count])) {
return nil;
}
// Create a new view controller and pass suitable data.
PageContentViewController *pageContentViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageContentViewController"];
pageContentViewController.imageFile = self.pageImages[index];
pageContentViewController.titleText = self.pageTitles[index];
pageContentViewController.pageIndex = index;
NSLog(@"INDEX : %lu", (unsigned long)index);
return pageContentViewController;
}
- (void)pageViewController:(UIPageViewController *)pageViewCntr didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed
{
NSInteger currentIndex = ((UIViewController *)self.pageViewController.viewControllers.firstObject).view.tag;
if (completed) pageControl.currentPage = currentIndex;
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
NSInteger index = ((PageContentViewController *)viewController).pageIndex;
if (index == NSNotFound || !index) return nil;
NSLog(@"INDEX : %lu", (unsigned long)index);
return [self viewControllerAtIndex:index-1];
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
NSInteger index = ((PageContentViewController *)viewController).pageIndex;
if (index == NSNotFound || index == pageCount-1) return nil;
NSLog(@"INDEX : %lu", (unsigned long)index);
return [self viewControllerAtIndex:index+1];
}
- (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController{
return [self.pageImages count];
}
- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController{
return 0;
}
我尝试了很多方法,但无法解决问题。
帮助我找到页面的当前索引。 页面索引当前未显示,当我滑动一次时,它一次返回 0,1 个索引,下一次滑动它显示我 2,下一次滑动它不返回任何索引
【问题讨论】:
-
最后一页打印什么pageContentViewController.pageIndex?你有多少页?
-
@SanketBhavsar 从左到右和从右到左显示不同的索引,这是不正确的索引
-
你如何调用显示的方法?它返回/做什么?你期望它返回/做什么?
标签: ios objective-c uipageviewcontroller