私は問題はIAMは何PageViewController http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/ を作成するため、このチュートリアルに従っているが、すべてが完璧PageViewControllerはページのインデックスを間違って表示していますか?
ているページのものの間違って残りの部分を取得ページインデックスが最後のインデックスであるならば、私のような何かをする必要があり、その後、私は持っていますボタンのラベルを変更します。
- (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;
}
多くの方法を試しましたが、問題を解決できませんでした。
ページの現在のインデックスを見つけるのを助けてください。ページの 指数は、私は1時間にスワイプするとき、それは一度私に0,1インデックスを返し、次のスワイプのためにそれは私に2を示し、次のスワイプのために、それは私に私が実装した
、以下の回答を参照してください?いくつのページがありますか? –
@SanketBhavsarこれは、左から右へ、右から左へと異なるインデックスを示しています。間違ったインデックスです –
あなたはどのようにこのメソッドを呼び出していますか?それは何を返すのですか?あなたはそれが何を返すと思いますか? – Paulw11