Getting the minimum number of indexes in a UIpageviewController when using a custom page Control

Before closing this question as a duplicate, just see that I have encountered a serious problem in the last two days.

I am following a UIPageViewController with a storyboard tutorial .

I tried to develop my UIPageviewController. I have to show some photos of users. I don't want to show apagecontrol at the bottom, so instead I created my own page control. When I try to set the index in UIPageControl, it does not work properly - getting some delay several times reaches the 5th page only updating it, so the calculations are not correct

This is my data source:

 -(UIViewController*)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{

    NSUInteger index = ((BMEnlargePhotoPageView*) viewController).pageIndex;
    [self.enlargePhotoPageControl setCurrentPage:index];

    if((index == 0 ) || (index==NSNotFound)){

        return nil;

    }
    index--;



    return [self viewControllerATindex:index];


}




-(UIViewController*)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{

    NSUInteger index = ((BMEnlargePhotoPageView*) viewController).pageIndex;
    [self.enlargePhotoPageControl setCurrentPage:index];


    if(index==NSNotFound){

        return nil;
    }

    index++;


    if(index==[self.userImages count])
    {
        return nil;
    }


    return [self viewControllerATindex:index];

}


- (BMEnlargePhotoPageView*)viewControllerATindex:(NSUInteger)index
{
       if(([self.userImages count]==0) || (index >= [self.userImages count])){

              }

    BMEnlargePhotoPageView *PageContentViewControl = [self.storyboard instantiateViewControllerWithIdentifier:@"EnlargePhoto"];

    PageContentViewControl.imageFIle =self.userImages[index];
    PageContentViewControl.pageIndex = index;


    return PageContentViewControl;

}

, , - .

: , , , , SO-ansers, , - , - .

+4
1

- , iOS7 , bcz, , .

UIPageViewController didFinishAnimating:, BOOL, , , BOOL, , scroll, ,

- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed{

    if(completed){

        COntentViewController *enlarge =[self.pageViewController.viewControllers lastObject];
        self.enlargePhotoPageControl.currentPage =  enlarge.pageIndex;

    }

}

, , BOOL , , , , . , pagecontrol, , . , - , .

+10

Source: https://habr.com/ru/post/1528066/


All Articles