BaseVC+BaseImageSelectVC.m 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. //
  2. // BaseVC+BaseImageSelectVC.m
  3. // 乐销
  4. //
  5. // Created by 隋林栋 on 2017/1/2.
  6. // Copyright © 2017年 ping. All rights reserved.
  7. //
  8. #import "BaseVC+BaseImageSelectVC.h"
  9. //上传图片
  10. #import "BaseImage.h"
  11. //photo asset
  12. #import <AssetsLibrary/AssetsLibrary.h>
  13. //photo
  14. #import <Photos/Photos.h>
  15. @implementation BaseVC (BaseImageSelectVC)
  16. //选择图片
  17. - (void)showImageVC:(int)imageNum{
  18. [GB_Nav pushViewController:[self fetchImageVC:imageNum] animated:true];
  19. }
  20. //选择视频
  21. - (void)showVideoVC:(int)imageNum{
  22. // VideoPickerVC * vc = [[VideoPickerVC alloc]init];
  23. // vc.photoNumber = imageNum;
  24. // vc.delegate = self;
  25. // [GB_Nav pushViewController:vc animated:true];
  26. }
  27. //选择图片vc
  28. - (UIViewController *)fetchImageVC:(int)imageNum{
  29. ImagePickerVC * vc = [[ImagePickerVC alloc]init];
  30. vc.photoNumber = imageNum;
  31. vc.delegate = self;
  32. return vc;
  33. }
  34. #pragma mark 选择图片回调
  35. - (void)ImagePickerVC: (ImagePickerVC *)ivc finishClick:(NSArray *)assetArray{
  36. [GlobalMethod fetchPhotoAuthorityBlock:^{
  37. NSMutableArray * aryAll = [NSMutableArray array];
  38. PHImageManager *imageManager = [[PHImageManager alloc] init];
  39. PHImageRequestOptions *opt = [[PHImageRequestOptions alloc]init];
  40. // opt.resizeMode = PHImageRequestOptionsResizeModeNone;
  41. opt.synchronous = YES;
  42. opt.deliveryMode = PHImageRequestOptionsDeliveryModeOpportunistic;;
  43. for (PHAsset *asset in assetArray) {
  44. [imageManager requestImageForAsset:asset targetSize:CGSizeMake(SCREEN_WIDTH/2.0,SCREEN_HEIGHT/2.0) contentMode:PHImageContentModeAspectFit options:opt resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) {
  45. [aryAll addObject: [BaseImage imageWithCGImage:result.CGImage imageAsset:asset]];
  46. }];
  47. }
  48. if (aryAll.lastObject) {
  49. [self imageSelect:aryAll.lastObject];
  50. }
  51. [self imagesSelect:aryAll];
  52. }];
  53. }
  54. /**
  55. * 点击第一张图片(照相机)的回调
  56. *
  57. * @param image 拍照的image
  58. */
  59. - (void)ImagePickerVC: (ImagePickerVC *)ivc firstImageClick:(UIImage *)image{
  60. [GlobalMethod fetchPhotoAuthorityBlock:^{
  61. BaseImage *imageBase = [BaseImage imageWithCGImage:image.CGImage imageAsset:nil];
  62. [self imageSelect:imageBase];
  63. NSMutableArray * muAry = [NSMutableArray array];
  64. [muAry addObject:imageBase];
  65. [self imagesSelect:muAry];
  66. [GB_Nav popViewControllerAnimated:true];
  67. }];
  68. }
  69. #pragma mark 图片选择
  70. - (void)imageSelect:(UIImage *)image{
  71. }
  72. - (void)imagesSelect:(NSArray *)aryImages{
  73. }
  74. @end