刷新UIPageViewController的内容

时间:2016-01-06 05:18:07

标签: ios uipageviewcontroller

我已经实现了UIPageViewController,我在其中加载来自Web服务的图像。现在我的pageViewController上有一个按钮,它会将新图像上传到服务器。

如何更新我的PageViewController dataSource,以便在页面浏览中显示新图片?

这是我的代码:

#pragma mark - PageViewController

    self.newpageViewController = [[UIPageViewController alloc]initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationVertical options:nil];
    //self.newpageViewController.delegate = self;
    self.newpageViewController.dataSource = self;

    ContentViewController *contentViewController =[self viewControllerAtIndex:0];

    NSArray *viewControllers = [NSArray arrayWithObject:contentViewController];
    [self.newpageViewController setViewControllers:viewControllers
                                     direction:UIPageViewControllerNavigationDirectionForward
                                      animated:NO
                                    completion:nil];


    _newpageViewController.view.frame = CGRectMake(0, 64, self.view.frame.size.width, self.view.frame.size.height - 114);

    [self addChildViewController:_newpageViewController];
    [self.view addSubview:_newpageViewController.view];
    [self.newpageViewController didMoveToParentViewController:contentViewController];

}


#pragma mark - Page View Controller Data Source

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

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

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

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

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

    index++;

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

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

    ContentViewController *pageContentViewController =[[ContentViewController alloc]init];

    pageContentViewController.pageIndex = index;
    pageContentViewController.dataArray = jsonDataArray;
    pageContentViewController.profileImageStr = self.jsonPicArray[index];
    return pageContentViewController;
}

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


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

0 个答案:

没有答案