// // HomeHotVC.m // keyBoard // // Created by Mac on 2025/11/6. // #import "HomeHotVC.h" // 视图 #import "KBTopThreeView.h" #import "HomeHotCell.h" #import "HomeRankVC.h" #import @interface HomeHotVC () // 顶部前三名视图 @property (nonatomic, strong) KBTopThreeView *topThreeView; @property (nonatomic, strong) NSArray *dataSource; // 简单模拟数据 @end @interface HomeHotVC () @end @implementation HomeHotVC - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; // 构建数据(演示) self.dataSource = @[ @{@"rank":@4, @"title":@"Ambiguous", @"sub":@"Be Neither Too Close Nor Too Distant, Want To ...", @"joined":@NO}, @{@"rank":@5, @"title":@"Ambiguous", @"sub":@"Be Neither Too Close Nor Too Distant, Want To ...", @"joined":@YES}, @{@"rank":@6, @"title":@"Ambiguous", @"sub":@"Be Neither Too Close Nor Too Distant, Want To ...", @"joined":@NO}, @{@"rank":@7, @"title":@"Ambiguous", @"sub":@"Be Neither Too Close Nor Too Distant, Want To ...", @"joined":@NO} ]; // 搭建 UI [self.view addSubview:self.tableView]; [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }]; // 顶部前三名作为 tableHeaderView(注意:tableHeaderView 需设定明确高度) CGFloat headerH = 280.0; self.topThreeView = [[KBTopThreeView alloc] initWithFrame:CGRectMake(0, 0, KB_SCREEN_WIDTH, headerH)]; // 示例配置:三个条目的标题 [self.topThreeView configWithItems:@[ @{@"title":@"High EQ", @"rank":@1}, @{@"title":@"Flirt Girls", @"rank":@2}, @{@"title":@"Humorous", @"rank":@3} ]]; self.tableView.tableHeaderView = self.topThreeView; } #pragma mark - UITableViewDataSource - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return self.dataSource.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { HomeHotCell *cell = [tableView dequeueReusableCellWithIdentifier:HomeHotCell.reuseId forIndexPath:indexPath]; NSDictionary *item = self.dataSource[indexPath.row]; // 配置 cell [cell configWithRank:[item[@"rank"] integerValue] title:item[@"title"] subtitle:item[@"sub"] joined:[item[@"joined"] boolValue]]; return cell; } #pragma mark - UITableViewDelegate - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 84.0; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES]; HomeRankVC *vc = [[HomeRankVC alloc] init]; // [self.navigationController pushViewController:vc animated:true]; UINavigationController *nav = KB_CURRENT_NAV; [nav pushViewController:vc animated:true]; NSLog(@"==="); } #pragma mark - Lazy - (BaseTableView *)tableView { if (!_tableView) { // 使用 BaseTableView,统一默认配置 _tableView = [[BaseTableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain]; _tableView.dataSource = self; _tableView.delegate = self; _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; // 设计为卡片式,去掉系统分割线 _tableView.showsVerticalScrollIndicator = NO; _tableView.contentInset = UIEdgeInsetsMake(8, 0, KB_SafeAreaBottom(), 0); [_tableView registerClass:HomeHotCell.class forCellReuseIdentifier:HomeHotCell.reuseId]; } return _tableView; } @end