HXCustomNavigationController.h 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. //
  2. // HXCustomNavigationController.h
  3. // HXPhotoPickerExample
  4. //
  5. // Created by Silence on 2017/10/31.
  6. // Copyright © 2017年 Silence. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. #import "HXPhotoManager.h"
  10. #import "HXPickerResult.h"
  11. @class HXPhotoModel, HXCustomNavigationController;
  12. @protocol HXCustomNavigationControllerDelegate <NSObject>
  13. @optional
  14. /**
  15. 点击完成按钮
  16. @param photoNavigationViewController self
  17. @param allList 已选的所有列表(包含照片、视频)
  18. @param photoList 已选的照片列表
  19. @param videoList 已选的视频列表
  20. @param original 是否原图
  21. */
  22. - (void)photoNavigationViewController:(HXCustomNavigationController *)photoNavigationViewController
  23. didDoneAllList:(NSArray<HXPhotoModel *> *)allList
  24. photos:(NSArray<HXPhotoModel *> *)photoList
  25. videos:(NSArray<HXPhotoModel *> *)videoList
  26. original:(BOOL)original;
  27. - (void)photoNavigationViewController:(HXCustomNavigationController *)photoNavigationViewController
  28. didDoneWithResult:(HXPickerResult *)result;
  29. /**
  30. 点击取消
  31. @param photoNavigationViewController self
  32. */
  33. - (void)photoNavigationViewControllerDidCancel:(HXCustomNavigationController *)photoNavigationViewController;
  34. - (void)photoNavigationViewControllerFinishDismissCompletion:(HXCustomNavigationController *)photoNavigationViewController;
  35. - (void)photoNavigationViewControllerCancelDismissCompletion:(HXCustomNavigationController *)photoNavigationViewController;
  36. @end
  37. @interface HXCustomNavigationController : UINavigationController
  38. @property (strong, nonatomic) NSMutableArray *albums;
  39. @property (strong, nonatomic) HXAlbumModel *cameraRollAlbumModel;
  40. @property (copy, nonatomic) void (^requestCameraRollPhotoListCompletion)(void);
  41. @property (copy, nonatomic) void (^requestCameraRollCompletion)(void);
  42. @property (copy, nonatomic) void (^requestAllAlbumCompletion)(void);
  43. @property (copy, nonatomic) void (^ reloadAsset)(BOOL initialAuthorization);
  44. //@property (copy, nonatomic) void (^ photoLibraryDidChange)(HXAlbumModel *albumModel);
  45. @property (assign ,nonatomic) BOOL isCamera;
  46. @property (weak, nonatomic) id<HXCustomNavigationControllerDelegate> hx_delegate;
  47. @property (assign, nonatomic) BOOL supportRotation;
  48. @property (strong, nonatomic) HXPhotoManager *manager;
  49. @property (copy, nonatomic) viewControllerDidDoneBlock doneBlock;
  50. @property (copy, nonatomic) viewControllerDidCancelBlock cancelBlock;
  51. - (instancetype)initWithManager:(HXPhotoManager *)manager;
  52. - (instancetype)initWithManager:(HXPhotoManager *)manager
  53. delegate:(id<HXCustomNavigationControllerDelegate>)delegate;
  54. - (instancetype)initWithManager:(HXPhotoManager *)manager
  55. doneBlock:(viewControllerDidDoneBlock)doneBlock
  56. cancelBlock:(viewControllerDidCancelBlock)cancelBlock;
  57. - (instancetype)initWithManager:(HXPhotoManager *)manager
  58. delegate:(id<HXCustomNavigationControllerDelegate>)delegate
  59. doneBlock:(viewControllerDidDoneBlock)doneBlock
  60. cancelBlock:(viewControllerDidCancelBlock)cancelBlock;
  61. - (void)clearAssetCache;
  62. @end