YOUPAIBBBaseBackpackVC.m 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. //
  2. // YOUPAIBBBaseBackpackVC.m
  3. // YOUQU
  4. //
  5. // Created by Elaine on 2021/12/10.
  6. // Copyright © 2021 MS. All rights reserved.
  7. //
  8. #import "YOUPAIBBBaseBackpackVC.h"
  9. #import "JXCategoryView.h"
  10. #import "JXPagerView.h"
  11. #import "YOUPAILZBackpackVC.h"
  12. #import "YOUPAILZBackPackVipVC.h"
  13. #import "JXCategoryDotView.h"
  14. #define LZCategoryViewHeight 44.0f
  15. #define LZCategoryViewItemWidth 34.0f
  16. @interface YOUPAIBBBaseBackpackVC ()<JXCategoryViewDelegate,JXPagerViewDelegate,JXCategoryListContainerViewDelegate>
  17. @property (nonatomic, weak) JXCategoryListContainerView *youpaippagerView;
  18. //@property (nonatomic, strong) JXCategoryTitleView *categoryView;
  19. @property (strong, nonatomic) NSArray *youpaiptitlesArr;
  20. @property (nonatomic, strong) JXCategoryDotView *youpaipcategoryView;
  21. @property (nonatomic, strong) NSMutableArray *youpaipdotStates;
  22. @end
  23. @implementation YOUPAIBBBaseBackpackVC
  24. - (void)viewDidLoad {
  25. [super viewDidLoad];
  26. self.title = @"我的背包";
  27. self.youpaiptitlesArr = @[@"贵族体验卡"];//优惠券
  28. [self youpaifsetupUI];
  29. [self youpaifrequestAvatarDressData];
  30. }
  31. -(void)youpaifsetupUI{
  32. JXCategoryDotView *categoryView = [[JXCategoryDotView alloc] init];
  33. [self.view addSubview:categoryView];
  34. [categoryView mas_makeConstraints:^(MASConstraintMaker *make) {
  35. make.top.mas_equalTo(NavBarHeight);
  36. make.left.mas_equalTo(0);
  37. make.right.mas_equalTo(0);
  38. make.height.mas_equalTo(LZCategoryViewHeight);
  39. }];
  40. categoryView.backgroundColor = LCWhiteColor;
  41. categoryView.titles = self.youpaiptitlesArr;
  42. categoryView.delegate = self;
  43. categoryView.titleSelectedColor = LZ273145Color;
  44. categoryView.titleColor = LZ273145Color;
  45. categoryView.titleColorGradientEnabled = YES;
  46. categoryView.titleFont = LCBoldFont(14.0f);
  47. categoryView.titleSelectedFont = LCBoldFont(14.0f);
  48. categoryView.cellWidth = 100;
  49. categoryView.cellSpacing = 0.0f;
  50. categoryView.averageCellSpacingEnabled = YES;
  51. _youpaipdotStates = @[@YES, @YES].mutableCopy;
  52. categoryView.dotStates = _youpaipdotStates;
  53. self.youpaipcategoryView = categoryView;
  54. categoryView.dotSize = CGSizeMake(4, 4);
  55. categoryView.dotColor = LCRedColor;
  56. // self.myCategoryView.dotStates = self.dotStates;
  57. // [self.myCategoryView reloadDataWithoutListContainer];
  58. JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init];
  59. lineView.verticalMargin = 4.0f;
  60. lineView.indicatorHeight = 2.5f;
  61. lineView.indicatorWidth = 8;
  62. lineView.layer.cornerRadius = 1.25;
  63. lineView.layer.masksToBounds = YES;
  64. [lineView.layer addSublayer:[LCTools getGradientLayerWithSize:CGSizeMake(lineView.indicatorWidth, lineView.indicatorHeight) twoColors:@[HexColorFromRGB(0x7C69FE),HexColorFromRGB(0x7C69FE)] gradientType:GradientLeftToRight]];
  65. categoryView.indicators = @[lineView];
  66. JXCategoryListContainerView *pagerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_CollectionView delegate:self];
  67. pagerView.listCellBackgroundColor = LCWhiteColor;
  68. [self.view addSubview:pagerView];
  69. [pagerView mas_makeConstraints:^(MASConstraintMaker *make) {
  70. make.top.mas_equalTo(categoryView.mas_bottom).offset(30);
  71. make.left.mas_equalTo(0);
  72. make.right.mas_equalTo(0);
  73. make.bottom.mas_equalTo(-SafeHeight);
  74. }];
  75. self.youpaippagerView = pagerView;
  76. self.youpaipcategoryView.listContainer = self.youpaippagerView;
  77. }
  78. // 返回列表的数量
  79. - (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
  80. return self.youpaiptitlesArr.count;
  81. }
  82. // 根据下标 index 返回对应遵守并实现 `JXCategoryListContentViewDelegate` 协议的列表实例
  83. - (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index {
  84. // noble_experience_card 贵族体验卡 video_coupon 视频优惠券
  85. YOUPAILZBackPackVipVC *vc = [YOUPAILZBackPackVipVC new];
  86. vc.youpaiptype = @"noble_experience_card";
  87. return vc;
  88. }
  89. #pragma mark - JXCategoryViewDelegate
  90. - (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
  91. if ([self.youpaipdotStates[index] boolValue] == YES) {
  92. self.youpaipdotStates[index] = @(NO);
  93. self.youpaipcategoryView.dotStates = self.youpaipdotStates;
  94. [categoryView reloadCellAtIndex:index];
  95. }
  96. }
  97. - (void)youpaifrequestAvatarDressData{
  98. @weakify(self);
  99. [LCHttpHelper requestWithURLString:GetPackageDot parameters:nil needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  100. @strongify(self);
  101. NSDictionary* dict = (NSDictionary*)responseObject;
  102. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  103. if (code == 0) {//成功
  104. NSDictionary *data = [dict objectForKey:@"data"];
  105. NSDictionary *redDic = data[@"red_dot"];
  106. self.youpaipdotStates = @[@NO,redDic[@"noble_experience_card"]].mutableCopy;
  107. self.youpaipcategoryView.dotStates = self.youpaipdotStates;
  108. [self.youpaipcategoryView reloadDataWithoutListContainer];
  109. }
  110. } failure:^(NSError *error) {
  111. }];
  112. }
  113. @end