UGCKitBGMCutView.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // Copyright (c) 2019 Tencent. All rights reserved.
  2. #import <UIKit/UIKit.h>
  3. #import "UGCKitVideoRangeConst.h"
  4. #import "UGCKitRangeContent.h"
  5. #import <UIKit/UIGestureRecognizerSubclass.h>
  6. #import <objc/runtime.h>
  7. #import "UGCKitTheme.h"
  8. @interface TCBGMCutViewConfig : NSObject
  9. @property (nonatomic, assign) CGRect frame;
  10. @property (nonatomic) NSInteger pinWidth;
  11. @property (nonatomic) NSInteger thumbHeight;
  12. @property (nonatomic) NSInteger borderHeight;
  13. @property (nonatomic) UIImage* leftPinImage;
  14. @property (nonatomic) UIImage* centerPinImage;
  15. @property (nonatomic) UIImage* rightPigImage;
  16. @property (nonatomic) UIImage* leftCorverImage;
  17. @property (nonatomic) UIImage* rightCoverImage;
  18. - (id)initWithTheme:(UGCKitTheme*)theme;
  19. @end
  20. @protocol BGMCutDelegate;
  21. @interface UGCKitBGMCutView : UIView
  22. @property (nonatomic, weak) id<BGMCutDelegate> delegate;
  23. @property (nonatomic) CGFloat leftPinCenterX; //左拉条位置
  24. @property (nonatomic) CGFloat rightPinCenterX; //右拉条位置
  25. @property (nonatomic) UIImageView *leftPin; //左拉条
  26. @property (nonatomic) UIImageView *rightPin; //右拉条
  27. @property (nonatomic) UIView *topBorder; //上边
  28. @property (nonatomic) UIView *bottomBorder; //下边
  29. @property (nonatomic) UIImageView *leftCover; //左拉覆盖
  30. @property (nonatomic) UIImageView *rightCover; //右拉覆盖
  31. @property (nonatomic, copy) NSArray<UIImageView *> *imageViewList;
  32. @property (nonatomic, copy) NSArray *imageList; //显示图列表
  33. @property (nonatomic, readonly) CGFloat pinWidth; //拉条大小
  34. @property (nonatomic, readonly) CGFloat imageWidth;
  35. @property (nonatomic, readonly) CGFloat imageListWidth;
  36. @property (nonatomic, readonly) CGFloat leftScale; //左拉条的位置比例
  37. @property (nonatomic, readonly) CGFloat rightScale; //右拉条的位置比例
  38. - (instancetype)initWithImageList:(NSArray *)images;
  39. - (instancetype)initWithImageList:(NSArray *)images config:(TCBGMCutViewConfig*)config;
  40. -(void) resetCutView;
  41. @end
  42. @protocol BGMCutDelegate <NSObject>
  43. @optional
  44. - (void)onRangeLeftChangeBegin:(id)sender;
  45. - (void)onRangeLeftChanged:(id)sender percent:(CGFloat)percent;
  46. - (void)onRangeLeftChangeEnded:(id)sender percent:(CGFloat)percent;
  47. - (void)onRangeRightChangeBegin:(id)sender;
  48. - (void)onRangeRightChanged:(id)sender;
  49. - (void)onRangeRightChangeEnded:(id)sender;
  50. - (void)onRangeLeftAndRightChanged:(id)sender;
  51. @end
  52. @interface TCPanGestureRecognizer : UIPanGestureRecognizer
  53. -(instancetype)initWithTarget:(id)target action:(SEL)action inview:(UIView*)view;
  54. @property CGPoint beginPoint;
  55. @property UIView* inView;
  56. @end