// // CommonHomeVC.m // smartRhino // // Created by niuzhen on 2020/4/28. // Copyright © 2020 tederen. All rights reserved. // #import "CommonHomeVC.h" #import "CommonListCell.h" #import "MyTDGroupView.h" #import "GHRefreshCollectionView.h" #import "CommonBarCell.h" #import "CommonBarModel.h" @interface CommonHomeVC () @property (weak, nonatomic) IBOutlet UIView *NavBar; @property (strong, nonatomic) UITableView *tableView; @property (strong, nonatomic) MyTDGroupView *SearchView; @property (strong, nonatomic) GHRefreshCollectionView *collectionView; @property (strong, nonatomic) NSMutableArray *collectionDataSource; @property (strong, nonatomic) NSMutableArray *dataArray; @end @implementation CommonHomeVC - (void)viewDidLoad { [super viewDidLoad]; self.fd_prefersNavigationBarHidden = YES; self.view.backgroundColor = RGB(240, 239, 244); if (@available(iOS 11.0, *)) { self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; } else { self.automaticallyAdjustsScrollViewInsets = NO; } [self.view addSubview:self.tableView]; [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.mas_equalTo(self.view); make.top.mas_equalTo(self.NavBar.mas_bottom); if (@available(iOS 11.0, *)) { make.bottom.equalTo(self.view.mas_safeAreaLayoutGuideBottom); } else { make.bottom.equalTo(self.view.mas_bottom); } }]; [self setBarData]; [self.SearchView.button setAction:^{ NSLog(@"点击搜索"); }]; self.tableView.delegate = self; self.tableView.dataSource = self; self.tableView.backgroundColor = [UIColor clearColor]; CommonListModel * model = [[CommonListModel alloc] init]; model.Title = @"钱颖一:人工智能将使中国教育仅存的优 势荡然无存"; model.Name = @"钱颖一"; model.Des = @"中国前沿计算机教育观察周刊"; [self.dataArray addObject:model]; CommonListModel * amodel = [[CommonListModel alloc] init]; amodel.Title = @"大脑不擅长思考,那我们应该怎么学习?"; amodel.Name = @"周明鑫"; amodel.Des = @"北国教育论坛"; [self.dataArray addObject:amodel]; [self.tableView reloadData]; } - (BOOL)hidesBottomBarWhenPushed{ return NO; } #pragma mark - UITableViewDelegate - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 3; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ switch (section) { case 0:{ return 0; }break; case 1:{ return 1; }break; default:{ return self.dataArray.count; }break; } } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ switch (indexPath.section) { case 0:{ return 0.f; }break; case 1:{ return 72.f; }break; default:{ return UITableViewAutomaticDimension; }break; } } - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { switch (section) { case 0:{ return 40.f; }break; case 1:{ return 0.f; }break; default:{ return 36.f; }break; } } - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { switch (section) { case 0:{ return self.SearchView; }break; case 1:{ UIView * view = [UIView new]; return view; }break; default:{ UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 36)]; view.backgroundColor = UIColorHex(0xF5F5F5); UILabel * label = [UILabel new]; label.font = [UIFont systemFontOfSize:13]; label.textColor = UIColorHex(0x666666); label.text = @"最新收藏"; [view addSubview:label]; [label mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_offset(15); make.centerY.mas_equalTo(view); }]; return view; }break; } } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ switch (indexPath.section) { case 1: { CommonListCell *cell = [CommonListCell configCell0:tableView indexPath:indexPath]; [cell addSubview:self.collectionView]; [self.collectionView setFrame:CGRectMake(0, 0, SCREEN_WIDTH, 72)]; [self.collectionView reloadData]; return cell; } break; default: { CommonListCell *cell = [CommonListCell configCell1:tableView indexPath:indexPath]; CommonListModel * model = [self.dataArray objectAtIndex:indexPath.row]; [cell setCell1Data:model]; return cell; } break; } } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ [tableView deselectRowAtIndexPath:indexPath animated:YES]; } #pragma mark - load - (UITableView *)tableView { if (!_tableView) { _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain]; _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; } return _tableView; } - (MyTDGroupView *)SearchView { if (!_SearchView) { _SearchView = [[MyTDGroupView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 36)]; } return _SearchView; } -(NSMutableArray *)dataArray{ if(!_dataArray){ _dataArray = [[NSMutableArray alloc] init]; } return _dataArray; } -(NSMutableArray *)collectionDataSource{ if(!_collectionDataSource){ _collectionDataSource = [[NSMutableArray alloc] init]; } return _collectionDataSource; } - (GHRefreshCollectionView *)collectionView { if (!_collectionView) { UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; layout.scrollDirection = UICollectionViewScrollDirectionHorizontal; CGFloat width = SCREEN_WIDTH * 0.25; CGFloat height = 72; layout.itemSize = CGSizeMake(width, height); layout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0); _collectionView = [[GHRefreshCollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout]; _collectionView.delegate = self; _collectionView.dataSource = self; _collectionView.showsHorizontalScrollIndicator = NO; [_collectionView registerNib:[UINib nibWithNibName:@"CommonBarCell" bundle:nil] forCellWithReuseIdentifier:@"CommonBarCell"]; _collectionView.backgroundColor = [UIColor whiteColor]; } return _collectionView; } #pragma mark UICollectionView - (NSInteger)numberOfSectionsInCollectionView:(GHRefreshCollectionView *)collectionView{ return 1; } /**********************************************************************/ #pragma mark -UICollectionViewDataSource /**********************************************************************/ - (NSInteger)collectionView:(GHRefreshCollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return self.collectionDataSource.count; } - (UICollectionViewCell *)collectionView:(GHRefreshCollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { CommonBarModel *model = [self.collectionDataSource objectAtIndex:indexPath.item]; CommonBarCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CommonBarCell" forIndexPath:indexPath]; [cell setDataWithModel:model]; return cell; } /****************************************************/ #pragma mark --UICollectionViewDelegateFlowLayout /****************************************************/ - (CGSize)collectionView:(GHRefreshCollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { CGFloat width = SCREEN_WIDTH * 0.25; CGFloat height = 72; return CGSizeMake(width, height); } -(UIEdgeInsets)collectionView:(GHRefreshCollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section { return UIEdgeInsetsMake(0,0,0,0); } - (CGFloat)collectionView:(GHRefreshCollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section{ return 0; } - (CGFloat)collectionView:(GHRefreshCollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section{ return 0; } - (void)collectionView:(GHRefreshCollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{ [collectionView deselectItemAtIndexPath:indexPath animated:YES]; } - (void)setBarData { [self.collectionDataSource removeAllObjects]; NSArray * titleArray = @[@"收藏",@"笔记",@"工具箱",@"工作台"]; NSArray * imageArray = @[@"Common_collect",@"Common_note",@"Common_gjxiang",@"Common_gztai"]; for (NSInteger i = 0; i < titleArray.count; i ++) { CommonBarModel * model = [[CommonBarModel alloc] init]; model.name = titleArray[i]; model.imageStr = imageArray[i]; [self.collectionDataSource addObject:model]; } } @end