我已经实现了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;
}