YOUPAIHRDatePickerView.m 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. //
  2. // YOUPAIHRDatePickerView.m
  3. // VQU
  4. //
  5. // Created by xiaohaoran on 2021/11/5.
  6. // Copyright © 2021 MS. All rights reserved.
  7. //
  8. #import "YOUPAIHRDatePickerView.h"
  9. #import "JXCategoryView.h"
  10. #import "YOUPAIJXCategoryTitleBackgroundView.h"
  11. #import "JXPagerView.h"
  12. #import "YOUPAIHRMonthDateVC.h"
  13. #import "YOUPAIHRSelectDayDateVC.h"
  14. #define LZCategoryViewHeight 49.0f
  15. #define LZCategoryViewItemWidth 65.0f
  16. @interface YOUPAIHRDatePickerView ()<JXCategoryViewDelegate,JXPagerViewDelegate,JXCategoryListContainerViewDelegate>
  17. @property (nonatomic, weak) JXCategoryListContainerView *youpaippagerView;
  18. @property (nonatomic, weak) JXCategoryTitleView *youpaipcategoryView;
  19. @property (nonatomic, weak) UIView *youpaipcategoryBgV;
  20. /* titlearr */
  21. @property (strong, nonatomic) NSArray *youpaiptitlesArr;
  22. @end
  23. @implementation YOUPAIHRDatePickerView
  24. - (void)viewDidLoad {
  25. [super viewDidLoad];
  26. self.baseView.hidden = YES;
  27. [self youpaifsetupUI];
  28. }
  29. -(void)youpaifsetupUI{
  30. UIView *bgV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 324+SafeHeight)];
  31. bgV.backgroundColor = LCBkgColor;
  32. [LCTools clipCorner:UIRectCornerTopLeft|UIRectCornerTopRight View:bgV size:CGSizeMake(20.0f, 20.0f)];
  33. [self.view addSubview:bgV];
  34. [bgV mas_makeConstraints:^(MASConstraintMaker *make) {
  35. make.left.right.bottom.offset(0.0f);
  36. make.height.offset(324+SafeHeight);
  37. }];
  38. UIView *youpaipcategoryBgV = [[UIView alloc] init];
  39. youpaipcategoryBgV.backgroundColor = [UIColor clearColor];//LCBkgColor;
  40. YOUPAIJXCategoryTitleBackgroundView *youpaipcategoryView = [[YOUPAIJXCategoryTitleBackgroundView alloc] init];
  41. youpaipcategoryView.backgroundColor = [UIColor clearColor];
  42. youpaipcategoryView.titles = @[@"按月筛选",@"按日筛选"];
  43. youpaipcategoryView.delegate = self;
  44. youpaipcategoryView.titleSelectedColor = HexColorFromRGB(0xffffff);
  45. youpaipcategoryView.titleColor = HexColorFromRGB(0xffffff);
  46. youpaipcategoryView.titleColorGradientEnabled = YES;
  47. youpaipcategoryView.titleFont = LCFont(12.0f);
  48. youpaipcategoryView.titleSelectedFont = LCBoldFont(12.0f);
  49. youpaipcategoryView.cellWidth = LZCategoryViewItemWidth;
  50. youpaipcategoryView.cellSpacing = 8.0f;
  51. youpaipcategoryView.normalBackgroundColor = HexColorFromRGB(0x4F4B5B);
  52. youpaipcategoryView.selectedBackgroundColor = [UIColor colorWithPatternImage:[LCTools ColorImage:CGSizeMake(64.0f, 27.0f) FromColors:@[HexColorFromRGB(0xFF0084),HexColorFromRGB(0xFF3A00)] ByGradientType:GradientTopToBottom]];
  53. youpaipcategoryView.averageCellSpacingEnabled = NO;
  54. youpaipcategoryView.normalBorderColor = [UIColor clearColor];
  55. youpaipcategoryView.selectedBorderColor = [UIColor clearColor];
  56. youpaipcategoryView.borderLineWidth = 0;
  57. youpaipcategoryView.backgroundCornerRadius = 13.0f;
  58. youpaipcategoryView.backgroundWidth = JXCategoryViewAutomaticDimension;
  59. youpaipcategoryView.backgroundHeight = 26.0f;
  60. [youpaipcategoryBgV addSubview:youpaipcategoryView];
  61. self.youpaipcategoryView = youpaipcategoryView;
  62. //取消
  63. UIButton* cancelBtn = [[UIButton alloc]init];
  64. [cancelBtn addTarget:self action:@selector(youpaifcancelBtnClick) forControlEvents:(UIControlEventTouchUpInside)];
  65. [youpaipcategoryBgV addSubview:cancelBtn];
  66. [cancelBtn setTitle:@"取消" forState:UIControlStateNormal];
  67. [cancelBtn setTitleColor:HexColorFromRGB(0x9F9DA5) forState:UIControlStateNormal];
  68. cancelBtn.titleLabel.font = [UIFont systemFontOfSize:15];
  69. JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init];
  70. lineView.verticalMargin = 4.0f;
  71. lineView.indicatorHeight = 2.5f;
  72. lineView.indicatorWidth = 8;
  73. lineView.layer.cornerRadius = 1.25;
  74. lineView.layer.masksToBounds = YES;
  75. [lineView.layer addSublayer:[LCTools getGradientLayerWithSize:CGSizeMake(lineView.indicatorWidth, lineView.indicatorHeight) twoColors:@[HexColorFromRGB(0xFF0084),HexColorFromRGB(0xFF3A00)] gradientType:GradientLeftToRight]];
  76. youpaipcategoryView.indicators = @[lineView];
  77. JXCategoryListContainerView *pagerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_CollectionView delegate:self];
  78. pagerView.listCellBackgroundColor = LCBkgColor;
  79. // pagerView.frame = CGRectMake(0.0f, youpaipcategoryBgV.mj_h, KScreenWidth, KScreenHeight - youpaipcategoryBgV.mj_h - TabbarHeight);
  80. [bgV addSubview:pagerView];
  81. self.youpaippagerView = pagerView;
  82. self.youpaipcategoryView.listContainer = self.youpaippagerView;
  83. [bgV addSubview:youpaipcategoryBgV];
  84. self.youpaipcategoryBgV = youpaipcategoryBgV;
  85. [youpaipcategoryBgV mas_makeConstraints:^(MASConstraintMaker *make) {
  86. make.left.top.right.offset(0.0f);
  87. make.height.offset(LZCategoryViewHeight);
  88. }];
  89. [cancelBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  90. make.left.offset(34.0f);
  91. make.centerY.mas_equalTo(0);
  92. make.size.mas_equalTo(CGSizeMake(40.0f, 15.0f));
  93. }];
  94. [youpaipcategoryView mas_makeConstraints:^(MASConstraintMaker *make) {
  95. make.left.mas_equalTo(cancelBtn.mas_right).offset(45);
  96. make.top.offset(0);
  97. make.height.offset(LZCategoryViewHeight);
  98. make.right.equalTo(0);
  99. }];
  100. [pagerView mas_makeConstraints:^(MASConstraintMaker *make) {
  101. make.left.right.bottom.offset(0.0f);
  102. make.top.equalTo(youpaipcategoryBgV.mas_bottom).offset(0);
  103. }];
  104. }
  105. -(void)youpaifcancelBtnClick{
  106. [self dismissViewControllerAnimated:YES completion:^{
  107. }];
  108. }
  109. #pragma mark - JXCategoryListContainerViewDelegate
  110. - (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView{
  111. return 2;
  112. }
  113. - (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index{
  114. if (index == 0) {
  115. YOUPAIHRMonthDateVC *vc = [YOUPAIHRMonthDateVC new];
  116. @weakify(self);
  117. [vc setYoupaipdidSelectMonthTimeBlock:^(NSString * _Nonnull DateStr) {
  118. @strongify(self);
  119. if (self.youpaipselectMonthDate) {
  120. self.youpaipselectMonthDate(DateStr);
  121. }
  122. }];
  123. return vc;
  124. }else{
  125. YOUPAIHRSelectDayDateVC *vc = [YOUPAIHRSelectDayDateVC new];
  126. @weakify(self);
  127. [vc setYoupaipdidSelectTimeBlock:^(NSString * _Nonnull starDate, NSString * _Nonnull endDate) {
  128. @strongify(self);
  129. if (self.youpaipselectDayDate) {
  130. self.youpaipselectDayDate(starDate, endDate);
  131. }
  132. }];
  133. return vc;
  134. }
  135. }
  136. @end