HXCustomCameraViewController.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //
  2. // HXCustomCameraViewController.h
  3. // HXPhotoPickerExample
  4. //
  5. // Created by Silence on 2017/9/30.
  6. // Copyright © 2017年 Silence. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. #import <AVFoundation/AVFoundation.h>
  10. typedef NS_ENUM(NSUInteger, HXCustomCameraBottomViewMode) {
  11. HXCustomCameraBottomViewModePhoto, //!< 拍照
  12. HXCustomCameraBottomViewModeVideo = 1, //!< 录制
  13. };
  14. @class HXPhotoManager,HXCustomCameraViewController,HXPhotoModel;
  15. typedef void (^ HXCustomCameraViewControllerDidDoneBlock)(HXPhotoModel *model, HXCustomCameraViewController *viewController);
  16. typedef void (^ HXCustomCameraViewControllerDidCancelBlock)(HXCustomCameraViewController *viewController);
  17. @protocol HXCustomCameraViewControllerDelegate <NSObject>
  18. @optional
  19. /// 拍照/录制完成
  20. /// @param viewController self
  21. /// @param model 资源模型
  22. - (void)customCameraViewController:(HXCustomCameraViewController *)viewController
  23. didDone:(HXPhotoModel *)model;
  24. /// 取消
  25. /// @param viewController self
  26. - (void)customCameraViewControllerDidCancel:(HXCustomCameraViewController *)viewController;
  27. - (void)customCameraViewControllerFinishDismissCompletion:(HXCustomCameraViewController *)viewController;
  28. - (void)customCameraViewControllerCancelDismissCompletion:(HXCustomCameraViewController *)viewController;
  29. @end
  30. @interface HXCustomCameraViewController : UIViewController
  31. @property (weak, nonatomic) id<HXCustomCameraViewControllerDelegate> delegate;
  32. @property (strong, nonatomic) HXPhotoManager *manager;
  33. @property (assign, nonatomic) BOOL isOutside;
  34. @property (copy, nonatomic) HXCustomCameraViewControllerDidDoneBlock doneBlock;
  35. @property (copy, nonatomic) HXCustomCameraViewControllerDidCancelBlock cancelBlock;
  36. #pragma mark - < other >
  37. - (UIImage *)jumpImage;
  38. - (CGRect)jumpRect;
  39. - (void)hidePlayerView;
  40. - (void)showPlayerView;
  41. - (void)hiddenTopBottomView;
  42. - (void)showTopBottomView;
  43. @end
  44. @interface HXCustomCameraPlayVideoView : UIView
  45. @property (strong, nonatomic) NSURL *videoURL;
  46. @property (strong, nonatomic) AVPlayerLayer *playerLayer;
  47. - (void)stopPlay;
  48. @end