11#import " DemoViewController.h"
2+ #import " CustomPreviewViewController.h"
23#import " WPPHAssetDataSource.h"
34#import " OptionsViewController.h"
45#import " PostProcessingViewController.h"
56#import < WPMediaPicker/WPMediaPicker.h>
67#import < WPMediaPicker/WPMediaGroupTableViewCell.h>
8+ #import < WPMediaPicker/WPMediaPicker.h>
79
810@interface DemoViewController () <WPMediaPickerViewControllerDelegate, OptionsViewControllerDelegate>
911
1012@property (nonatomic , strong ) NSArray * assets;
1113@property (nonatomic , strong ) NSDateFormatter * dateFormatter;
1214@property (nonatomic , strong ) id <WPMediaCollectionDataSource> customDataSource;
1315@property (nonatomic , copy ) NSDictionary *options;
16+ @property (nonatomic , strong ) WPNavigationMediaPickerViewController *mediaPicker;
1417
1518@end
1619
@@ -36,7 +39,8 @@ - (void)viewDidLoad
3639 MediaPickerOptionsShowCameraCapture:@(YES ),
3740 MediaPickerOptionsAllowMultipleSelection:@(YES ),
3841 MediaPickerOptionsPostProcessingStep:@(NO ),
39- MediaPickerOptionsFilterType:@(WPMediaTypeVideoOrImage)
42+ MediaPickerOptionsFilterType:@(WPMediaTypeVideoOrImage),
43+ MediaPickerOptionsCustomPreview:@(NO )
4044 };
4145
4246}
@@ -113,7 +117,16 @@ - (void)mediaPickerController:(WPMediaPickerViewController *)picker didFinishPic
113117 [self dismissViewControllerAnimated: YES completion: nil ];
114118 };
115119
116- [picker showAfterViewController: postProcessingViewController];
120+ [self .mediaPicker showAfterViewController: postProcessingViewController];
121+ }
122+
123+ - (UIViewController *)mediaPickerController : (WPMediaPickerViewController *)picker previewViewControllerForAsset : (id <WPMediaAsset>)asset
124+ {
125+ if ([self .options[MediaPickerOptionsCustomPreview] boolValue ] == false ) {
126+ return nil ;
127+ }
128+
129+ return [[CustomPreviewViewController alloc ] initWithAsset: asset];
117130}
118131
119132#pragma - Actions
@@ -126,18 +139,18 @@ - (void) clearSelection:(id) sender
126139
127140- (void ) showPicker : (id ) sender
128141{
129- WPMediaPickerViewController * mediaPicker = [[WPMediaPickerViewController alloc ] init ];
130- mediaPicker.delegate = self;
131- mediaPicker.showMostRecentFirst = [self .options[MediaPickerOptionsShowMostRecentFirst] boolValue ];
132- mediaPicker.allowCaptureOfMedia = [self .options[MediaPickerOptionsShowCameraCapture] boolValue ];
133- mediaPicker.preferFrontCamera = [self .options[MediaPickerOptionsPreferFrontCamera] boolValue ];
134- mediaPicker.allowMultipleSelection = [self .options[MediaPickerOptionsAllowMultipleSelection] boolValue ];
135- mediaPicker.filter = [self .options[MediaPickerOptionsFilterType] intValue ];
136- mediaPicker.modalPresentationStyle = UIModalPresentationPopover;
137- UIPopoverPresentationController *ppc = mediaPicker.popoverPresentationController ;
142+ self. mediaPicker = [[WPNavigationMediaPickerViewController alloc ] init ];
143+ self. mediaPicker .delegate = self;
144+ self. mediaPicker .showMostRecentFirst = [self .options[MediaPickerOptionsShowMostRecentFirst] boolValue ];
145+ self. mediaPicker .allowCaptureOfMedia = [self .options[MediaPickerOptionsShowCameraCapture] boolValue ];
146+ self. mediaPicker .preferFrontCamera = [self .options[MediaPickerOptionsPreferFrontCamera] boolValue ];
147+ self. mediaPicker .allowMultipleSelection = [self .options[MediaPickerOptionsAllowMultipleSelection] boolValue ];
148+ self. mediaPicker .filter = [self .options[MediaPickerOptionsFilterType] intValue ];
149+ self. mediaPicker .modalPresentationStyle = UIModalPresentationPopover;
150+ UIPopoverPresentationController *ppc = self. mediaPicker .popoverPresentationController ;
138151 ppc.barButtonItem = sender;
139152
140- [self presentViewController: mediaPicker animated: YES completion: nil ];
153+ [self presentViewController: self . mediaPicker animated: YES completion: nil ];
141154}
142155
143156- (void ) showOptions : (id ) sender
0 commit comments