// // TFDiscoverHeaderView.m // WXReader // // Created by 谢腾飞 on 2020/12/2. // Copyright © 2020 xtfei_2011@126.com. All rights reserved. // #import "TFDiscoverHeaderView.h" #import "YJBannerView.h" #import "TFDiscoverHeaderViewCell.h" @interface TFDiscoverHeaderView () @property (nonatomic ,strong) YJBannerView *normalBannerView; @property (nonatomic ,strong) NSMutableArray *bannerImageArr; @end @implementation TFDiscoverHeaderView - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { self.clipsToBounds = YES; [self initialize]; [self createSubviews]; } return self; } - (void)initialize { _bannerImageArr = [NSMutableArray array]; } - (void)createSubviews { self.backgroundColor = kWhiteColor; [self addSubview:self.normalBannerView]; } //banner - (YJBannerView *)normalBannerView { if (!_normalBannerView) { _normalBannerView = [YJBannerView bannerViewWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_WIDTH / 4) dataSource:self delegate:self emptyImage:HoldImage placeholderImage:HoldImage selectorString:NSStringFromSelector(@selector(setImageWithURL:placeholder:))]; _normalBannerView.pageControlAliment = PageControlAlimentCenter; _normalBannerView.repeatCount = 9999; _normalBannerView.autoDuration = 5.0f; _normalBannerView.pageControlStyle = PageControlCustom; _normalBannerView.pageControlDotSize = CGSizeMake(10, 5); _normalBannerView.customPageControlHighlightImage = [UIImage imageNamed:@"pageControlS"]; _normalBannerView.customPageControlNormalImage = [UIImage imageNamed:@"pageControlN"]; } return _normalBannerView; } - (NSArray *)bannerViewRegistCustomCellClass:(YJBannerView *)bannerView { return @[[TFDiscoverHeaderViewCell class]]; } /** 根据 Index 选择使用哪个 reuseIdentifier */ - (Class)bannerView:(YJBannerView *)bannerView reuseIdentifierForIndex:(NSInteger)index { return [TFDiscoverHeaderViewCell class]; } /** 自定义 View 刷新数据或者其他配置 */ - (UICollectionViewCell *)bannerView:(YJBannerView *)bannerView customCell:(UICollectionViewCell *)customCell index:(NSInteger)index { TFDiscoverHeaderViewCell *cell = (TFDiscoverHeaderViewCell *)customCell; cell.imageURL = [self.bannerImageArr objectOrNilAtIndex:index]; return cell; } // 将网络图片或者本地图片 或者混合数组 - (NSArray *)bannerViewImages:(YJBannerView *)bannerView { return _bannerImageArr; } // 代理方法 点击了哪个bannerView 的 第几个元素 - (void)bannerView:(YJBannerView *)bannerView didSelectItemAtIndex:(NSInteger)index { if (self.bannerrImageClickBlock) { self.bannerrImageClickBlock([self.banner objectOrNilAtIndex:index]); } } - (void)setBanner:(NSArray *)banner { _banner = banner; [_bannerImageArr removeAllObjects]; for (TFBannerModel *t_model in banner) { [_bannerImageArr addObject:t_model.image]; } [_normalBannerView reloadData]; } @end