This commit is contained in:
2025-12-03 19:00:55 +08:00
parent 1d6371c37e
commit 25edf2d817
7 changed files with 162 additions and 37 deletions

View File

@@ -8,13 +8,16 @@
#import "HomeRankVC.h"
#import "HomeRankContentVC.h"
#import "KBCategoryTitleImageView.h"
#import "KBHomeVM.h"
#import "KBTag.h"
@interface HomeRankVC ()<JXCategoryViewDelegate>
@property (nonatomic, strong) NSArray *titles;
@property (nonatomic, strong) NSArray<NSString *> *titles;
@property (nonatomic, strong) NSArray<KBTag *> *tags;
@property (nonatomic, strong) JXCategoryTitleImageView *myCategoryView;
@property (nonatomic, strong) JXCategoryListContainerView *listContainerView;
@property (nonatomic, assign) JXCategoryTitleImageType currentType;
@property (nonatomic, strong) KBHomeVM *homeVM;
@end
@implementation HomeRankVC
@@ -23,21 +26,12 @@
[super viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor clearColor];
self.titles = @[KBLocalized(@"螃蟹啊斯柯达积分卡"),
KBLocalized(@"小龙虾"),
KBLocalized(@"苹果"),
KBLocalized(@"胡萝卜"),
KBLocalized(@"葡萄"),
KBLocalized(@"西瓜")];
self.titles = @[];
[self.view addSubview:self.myCategoryView];
[self.view addSubview:self.listContainerView];
self.listContainerView.scrollView.scrollEnabled = false;
NSArray *imageNames = @[@"home_item_normal", @"home_item_normal", @"home_item_normal", @"home_item_normal", @"home_item_normal", @"home_item_normal"];
NSArray *selectedImageNames = @[@"home_item_selected", @"home_item_selected", @"home_item_selected", @"home_item_selected", @"home_item_selected", @"home_item_selected"];
self.myCategoryView.titles = self.titles;
// self.myCategoryView.titleColorGradientEnabled = YES;
self.myCategoryView.imageInfoArray = imageNames;
//
self.myCategoryView.cellBackgroundSelectedColor = [UIColor blackColor];
self.myCategoryView.cellBackgroundUnselectedColor = [UIColor colorWithHex:0xEAF8F4];
self.myCategoryView.titleColor = [UIColor colorWithHex:0x1B1F1A];
@@ -48,35 +42,50 @@
self.myCategoryView.titleLabelZoomScale = 1.0;
self.myCategoryView.cellWidthZoomEnabled = NO; // cell
self.myCategoryView.cellWidthZoomScale = 1.0;
self.myCategoryView.selectedImageInfoArray = selectedImageNames;
self.myCategoryView.loadImageBlock = ^(UIImageView *imageView, id info) {
NSString *imageName = info;
imageView.image = [UIImage imageNamed:imageName];
};
self.myCategoryView.imageZoomEnabled = false;
self.myCategoryView.imageZoomScale = 1.3;
self.myCategoryView.averageCellSpacingEnabled = NO;
self.myCategoryView.cellBackgroundColorGradientEnabled = true;
self.myCategoryView.cellWidthIncrement = 20;
// JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init];
// lineView.indicatorWidth = 20;
// self.myCategoryView.indicators = @[lineView];
// JXCategoryIndicatorLineView *indicatorlineView = [[JXCategoryIndicatorLineView alloc]init];
// indicatorlineView.indicatorHeight = 30;
// indicatorlineView.indicatorColor = UIColor.blackColor;
// indicatorlineView.verticalMargin = 10;
// indicatorlineView.indicatorWidthIncrement = 20;
// indicatorlineView.indicatorCornerRadius = 4;
// UIImage *bgImage = [UIImage kb_imageWithColor:[UIColor blackColor] size:CGSizeMake(30, 30)];
//// UIImage *bgImage = [UIImage imageNamed:@"get_ppd_btn"];
// UIImageView *imageV = [[UIImageView alloc]initWithImage:bgImage];
// imageV.frame = indicatorlineView.bounds;
// imageV.contentMode = UIViewContentModeScaleToFill;
// [indicatorlineView addSubview:imageV];
// self.myCategoryView.indicators = @[indicatorlineView];
// [self configCategoryViewWithType:JXCategoryTitleImageType_LeftImage];
//
self.homeVM = [KBHomeVM new];
KBWeakSelf
[self.homeVM fetchTagListWithParams:nil
needShow:YES
completion:^(NSArray<KBTag *> * _Nullable list, NSError * _Nullable error) {
if (error) {
return;
}
weakSelf.tags = list ?: @[];
// titles 使 tagName
NSMutableArray<NSString *> *titles = [NSMutableArray array];
for (KBTag *tag in weakSelf.tags) {
NSString *name = tag.tagName ?: @"";
[titles addObject:name];
}
weakSelf.titles = [titles copy];
//
NSMutableArray *imageNames = [NSMutableArray array];
NSMutableArray *selectedImageNames = [NSMutableArray array];
for (NSInteger i = 0; i < weakSelf.titles.count; i++) {
[imageNames addObject:@"home_item_normal"];
[selectedImageNames addObject:@"home_item_selected"];
}
weakSelf.myCategoryView.titles = weakSelf.titles;
weakSelf.myCategoryView.imageInfoArray = imageNames;
weakSelf.myCategoryView.selectedImageInfoArray = selectedImageNames;
weakSelf.myCategoryView.loadImageBlock = ^(UIImageView *imageView, id info) {
NSString *imageName = info;
imageView.image = [UIImage imageNamed:imageName];
};
[weakSelf.myCategoryView reloadData];
[weakSelf.listContainerView reloadData];
}];
}
- (void)viewDidLayoutSubviews {