UGCKitRangeContent.h 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // Copyright (c) 2019 Tencent. All rights reserved.
  2. #import <UIKit/UIKit.h>
  3. #import "UGCKitVideoRangeConst.h"
  4. #import "UGCKitTheme.h"
  5. /*用来辅助定制外观*/
  6. @interface UGCKitRangeContentConfig : NSObject
  7. @property (nonatomic) NSInteger imageCount;
  8. @property (nonatomic) NSInteger pinWidth;
  9. @property (nonatomic) NSInteger thumbHeight;
  10. @property (nonatomic) NSInteger borderHeight;
  11. @property (nonatomic) UIImage* leftPinImage;
  12. @property (nonatomic) UIImage* centerPinImage;
  13. @property (nonatomic) UIImage* indicatorImage;
  14. @property (nonatomic) UIImage* rightPigImage;
  15. @property (nonatomic) UIImage* leftCorverImage;
  16. @property (nonatomic) UIImage* rightCoverImage;
  17. @property (nonatomic) UIColor* borderColor;
  18. - (instancetype)initWithTheme:(UGCKitTheme *)theme;
  19. @end
  20. @protocol RangeContentDelegate;
  21. @interface UGCKitRangeContent : UIView
  22. @property (nonatomic, weak) id<RangeContentDelegate> delegate;
  23. @property (nonatomic) CGFloat leftPinCenterX; //左拉条位置
  24. @property (nonatomic) CGFloat centerPinCenterX; //中间滑块位置
  25. @property (nonatomic) CGFloat rightPinCenterX; //右拉条位置
  26. @property (nonatomic) UIImageView *leftPin; //左拉条
  27. @property (nonatomic) UIImageView *centerPin; //中滑块
  28. @property (nonatomic) UIImageView *rightPin; //右拉条
  29. @property (nonatomic) UIView *topBorder; //上边
  30. @property (nonatomic) UIView *bottomBorder; //下边
  31. @property (nonatomic) UIImageView *middleLine; //中线
  32. @property (nonatomic) UIImageView *centerCover;
  33. @property (nonatomic) UIImageView *leftCover; //左拉覆盖
  34. @property (nonatomic) UIImageView *rightCover; //右拉覆盖
  35. @property (nonatomic, copy) NSArray<UIImageView *> *imageViewList;
  36. @property (nonatomic, copy) NSArray *imageList; //显示图列表
  37. @property (nonatomic, readonly) CGFloat pinWidth; //拉条大小
  38. @property (nonatomic, readonly) CGFloat imageWidth;
  39. @property (nonatomic, readonly) CGFloat imageListWidth;
  40. @property (nonatomic, readonly) CGFloat leftScale; //左拉条的位置比例
  41. @property (nonatomic, readonly) CGFloat rightScale; //右拉条的位置比例
  42. @property (nonatomic, readonly) CGFloat centerScale; //中间拉条的位置比例
  43. - (instancetype)initWithImageList:(NSArray *)images;
  44. - (instancetype)initWithImageList:(NSArray *)images config:(UGCKitRangeContentConfig*)config;
  45. - (void)unpdateBorder;
  46. @end
  47. @protocol RangeContentDelegate <NSObject>
  48. @optional
  49. - (void)onRangeTap:(CGPoint )point;
  50. - (void)onRangeLeftChangeBegin:(UGCKitRangeContent*)sender;
  51. - (void)onRangeLeftChanged:(UGCKitRangeContent *)sender;
  52. - (void)onRangeLeftChangeEnded:(UGCKitRangeContent *)sender;
  53. - (void)onRangeCenterChangeBegin:(UGCKitRangeContent*)sender;
  54. - (void)onRangeCenterChanged:(UGCKitRangeContent *)sender;
  55. - (void)onRangeCenterChangeEnded:(UGCKitRangeContent *)sender;
  56. - (void)onRangeRightChangeBegin:(UGCKitRangeContent*)sender;
  57. - (void)onRangeRightChanged:(UGCKitRangeContent *)sender;
  58. - (void)onRangeRightChangeEnded:(UGCKitRangeContent *)sender;
  59. - (void)onRangeLeftAndRightChanged:(UGCKitRangeContent *)sender;
  60. @end