RangeContent.h 2.9 KB

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