Skip to content

Instantly share code, notes, and snippets.

@kenshin03
Created May 1, 2013 08:32
Show Gist options
  • Save kenshin03/5494335 to your computer and use it in GitHub Desktop.
Save kenshin03/5494335 to your computer and use it in GitHub Desktop.
// 1. set up the intial view with the first Feed Item
- (void) initFeedsPageViewController {
...
FeedItem * firstFeedItem = self.feedItemsArray[0];
PSHCoverFeedPageViewController * currentPagePageViewController = [[PSHCoverFeedPageViewController alloc] init];
currentPagePageViewController.feedType = firstFeedItem.type;
currentPagePageViewController.messageLabelString = firstFeedItem.message;
currentPagePageViewController.infoLabelString = [NSString stringWithFormat:@"%@ - %@", [self.dateFormatter stringFromDate:firstFeedItem.updatedTime], firstFeedItem.source.name];
currentPagePageViewController.likesCount = [firstFeedItem.likesCount integerValue];
currentPagePageViewController.commentsCount = [firstFeedItem.commentsCount integerValue];
currentPagePageViewController.feedItemGraphID = firstFeedItem.graphID;
currentPagePageViewController.feedType = firstFeedItem.type;
currentPagePageViewController.likedByMe = firstFeedItem.likedByMe.boolValue;
[self.feedsPageViewController setViewControllers:@[currentPagePageViewController] direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:^(BOOL finished) {
}];
...
// 2. set up view controller for previous page
#pragma mark - UIPageViewController dataSource
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController {
PSHCoverFeedPageViewController *currentViewController = (PSHCoverFeedPageViewController*) viewController;
NSInteger currentIndex = currentViewController.currentIndex;
// prev page
if (currentIndex == 0){
return nil;
}else{
NSInteger previousIndex = currentIndex - 1;
FeedItem * previousFeedItem = self.feedItemsArray[previousIndex];
PSHCoverFeedPageViewController * prevPageViewController = [[PSHCoverFeedPageViewController alloc] init];
prevPageViewController.feedType = previousFeedItem.type;
prevPageViewController.messageLabelString = previousFeedItem.message;
prevPageViewController.infoLabelString = [NSString stringWithFormat:@"%@ - %@", [self.dateFormatter stringFromDate:
....
}
return prevPageViewController;
}
// 3. set up view controller for next page
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
PSHCoverFeedPageViewController *currentViewController = (PSHCoverFeedPageViewController*) viewController;
NSInteger currentIndex = currentViewController.currentIndex;
NSInteger nextIndex = currentIndex+1;
if (currentIndex < [self.feedItemsArray count]-1){
FeedItem * nextFeedItem = self.feedItemsArray[nextIndex];
PSHCoverFeedPageViewController * nextPageViewController = [[PSHCoverFeedPageViewController alloc] init];
nextPageViewController.feedType = nextFeedItem.type;
nextPageViewController.messageLabelString = nextFeedItem.message;
nextPageViewController.infoLabelString = [NSString stringWithFormat:@"%@ - %@", [self.dateFormatter stringFromDate:nextFeedItem.updatedTime], nextFeedItem.source.name];
nextPageViewController.likesCount = [nextFeedItem.likesCount integerValue];
...
return nextPageViewController;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment