// // KWMHotSalesHeader.m // iCemarose // // Created by HouWeiBin on 2017/7/10. // Copyright © 2017年 kollway. All rights reserved. // #import "KWMHotSalesHeader.h" #import "KWMProductBannerItemView.h" #import "UIImageView+WebCache.h" #import "KWMNewHomeCell.h" @interface KWMHotSalesHeader()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout> @property (nonatomic,weak) IBOutlet UIView *vView; @property (nonatomic,weak) IBOutlet KWMBannerView *bannerView; @property (nonatomic,weak) IBOutlet UICollectionView *singleShowView; @property (nonatomic,weak) IBOutlet NSLayoutConstraint *heightBannerView; @property (nonatomic,weak) IBOutlet NSLayoutConstraint *heightSingleShowView; @end @implementation KWMHotSalesHeader +(NSString *)kwmTag{ return @"KWMHotSalesHeader"; } - (id)init{ if (self=[super init]){ [self addView]; } return self; } - (id)initWithCoder:(NSCoder *)aDecoder { self = [super initWithCoder:aDecoder]; if (self) { [self addView]; } return self; } -(instancetype)initWithFrame:(CGRect)frame{ if (self =[super initWithFrame:frame]) { [self addView]; } return self; } -(void)addView{ [[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil]; self.vView.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height); [self addSubview:self.vView]; [self initView]; } -(NSInteger)actrualHeight{ NSInteger height = 60 + self.heightSingleShowView.constant + self.heightBannerView.constant; return height; } -(void)initView{ UINib *nib = [UINib nibWithNibName:@"KWMNewHomeCell" bundle:nil]; [self.singleShowView registerNib:nib forCellWithReuseIdentifier:@"KWMNewHomeCell"]; // [self.singleShowView registerNib:nib forCellReuseIdentifier:@"KWMNewHomeCell"]; // [self.singleShowView registerNib:[[[NSBundle mainBundle]loadNibNamed:@"KWMNewHomeCell" owner:self options:nil] firstObject] forCellReuseIdentifier:@"KWMNewHomeCell"]; self.singleShowView.delegate = self; self.singleShowView.dataSource = self; // self.singleShowView.collectionViewLayout.collectionViewContentSize = CGSizeMake(UI_SCREEN_WIDTH - 16, UI_SCREEN_WIDTH + 58); // self.singleShowView.collectionViewLayout = [UICollectionViewLayout alloc] self.bannerView.delegate = self; self.heightBannerView.constant = 0; self.heightSingleShowView.constant = 0; } -(void)startBannerTimer{ [self.bannerView addTimer]; } -(void)endBannerTimer{ [self.bannerView removeTimer]; } -(void)setBannerArray:(NSArray *)bannerArray{ _bannerArray = bannerArray; if(bannerArray && bannerArray.count > 0){ self.heightBannerView.constant = 190; [self.bannerView reloadData]; }else{ self.heightBannerView.constant = 0; } } -(void)setSingleShowArray:(NSArray *)singleShowArray{ _singleShowArray = singleShowArray ? singleShowArray : [NSArray array]; NSInteger itemWidth = UI_SCREEN_WIDTH - 16; NSInteger itemHeight = UI_SCREEN_WIDTH + 58; // for(int i=0;i<singleShowArray.count;i++){ // BUYProduct *product = [singleShowArray objectAtIndex:i]; // NSArray *nib = [[NSBundle mainBundle]loadNibNamed:@"KWMNewHomeCell" owner:self options:nil]; // KWMNewHomeCell *homeCell = [nib objectAtIndex:0]; // homeCell.frame = CGRectMake(8, itemHeight*i, itemWidth, itemHeight); // homeCell.singleShow = YES; // homeCell.tag = i; // homeCell.product = product; // // [self.singleShowView addSubview:homeCell]; // } self.heightSingleShowView.constant = itemHeight*singleShowArray.count; } #pragma mark - UICollectionViewDataSource & UICollectionViewDelegate -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return self.singleShowArray.count; } -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { KWMNewHomeCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"KWMNewHomeCell" forIndexPath:indexPath]; cell.singleShow = YES; cell.product = self.singleShowArray[indexPath.item]; return cell; } -(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { return CGSizeMake(UI_SCREEN_WIDTH - 16, UI_SCREEN_WIDTH + 58); } - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { [self.delegate kwm_onClickProduct:self.singleShowArray[indexPath.item]]; } #pragma mark - KWMBannerViewDelegate -(UIView *)bannerView:(KWMBannerView *)bannerView reusingView:(UIView *)reusingView pageAtIndex:(NSInteger)index{ UIView *itemView = reusingView?reusingView:nil; KWMProductBannerItemView *productBannerItem = nil; if(!itemView){ productBannerItem = [[KWMProductBannerItemView alloc]initWithFrame:CGRectMake(0, 0, bannerView.frame.size.width, bannerView.frame.size.height)]; }else{ productBannerItem = (KWMProductBannerItemView *)itemView; } itemView = productBannerItem; return itemView; } -(NSInteger)numberOfPagesForBanner:(KWMBannerView *)bannerView{ return self.bannerArray?self.bannerArray.count:0; } -(void)bannerView:(KWMBannerView *)bannerView onClickPage:(NSInteger)index{ BUYProduct *product = [self.bannerArray objectAtIndex:index]; if(self.delegate){ [self.delegate kwm_onClickProduct:product]; } } @end