diff --git a/Example/NYTPhotoViewer/Base.lproj/Main_iPad.storyboard b/Example/NYTPhotoViewer/Base.lproj/Main_iPad.storyboard index cf384436..581493cd 100644 --- a/Example/NYTPhotoViewer/Base.lproj/Main_iPad.storyboard +++ b/Example/NYTPhotoViewer/Base.lproj/Main_iPad.storyboard @@ -1,10 +1,12 @@ - + - + + + - + @@ -15,13 +17,38 @@ + + + + + + + + + + + + + diff --git a/Pod/Classes/ios/NYTPhotosViewController.m b/Pod/Classes/ios/NYTPhotosViewController.m index 45e37972..ea293f72 100644 --- a/Pod/Classes/ios/NYTPhotosViewController.m +++ b/Pod/Classes/ios/NYTPhotosViewController.m @@ -29,6 +29,7 @@ @interface NYTPhotosViewController () dataSource; @property (nonatomic) UIPageViewController *pageViewController; @property (nonatomic) NYTPhotoTransitionController *transitionController; +@property (nonatomic) UIPopoverController *activityPopoverController; @property (nonatomic) UIPanGestureRecognizer *panGestureRecognizer; @property (nonatomic) UITapGestureRecognizer *singleTapGestureRecognizer; @@ -239,8 +240,27 @@ - (void)actionButtonTapped:(id)sender { [self.delegate photosViewController:self actionCompletedWithActivityType:activityType]; } }; - - [self presentViewController:activityViewController animated:YES completion:nil]; + + [self displayActivityViewController:activityViewController animated:YES]; + } +} + +- (void)displayActivityViewController:(UIActivityViewController *)controller animated:(BOOL)animated { + + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { + [self presentViewController:controller animated:animated completion:nil]; + } + else { + if ([controller respondsToSelector:@selector(popoverPresentationController)]) { + controller.popoverPresentationController.barButtonItem = self.rightBarButtonItem; + [self presentViewController:controller animated:animated completion:nil]; + } + else { + self.activityPopoverController = [[UIPopoverController alloc] initWithContentViewController:controller]; + [self.activityPopoverController presentPopoverFromBarButtonItem:self.rightBarButtonItem + permittedArrowDirections:UIPopoverArrowDirectionAny + animated:animated]; + } } }