Files
keyboard/keyBoard/Class/Home/VC/HomeHotVC.m
2025-11-10 15:55:36 +08:00

111 lines
3.7 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// HomeHotVC.m
// keyBoard
//
// Created by Mac on 2025/11/6.
//
#import "HomeHotVC.h"
// 视图
#import "KBTopThreeView.h"
#import "HomeHotCell.h"
#import "HomeRankVC.h"
#import "KBSearchVC.h"
#import <HWPanModal/HWPanModal.h>
@interface HomeHotVC () <UITableViewDataSource, UITableViewDelegate>
// 顶部前三名视图
@property (nonatomic, strong) KBTopThreeView *topThreeView;
@property (nonatomic, strong) NSArray<NSDictionary *> *dataSource; // 简单模拟数据
@end
@interface HomeHotVC ()
@end
@implementation HomeHotVC
- (void)viewDidLoad {
[super viewDidLoad];
// 构建数据(演示)
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];
KBSearchVC *vc = [[KBSearchVC 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