KWMAdHeader.m 2.31 KB
//
//  KWMAdHeader.m
//  iCemarose
//
//  Created by HouWeiBin on 2017/7/10.
//  Copyright © 2017年 kollway. All rights reserved.
//

#import "KWMAdHeader.h"
#import "UIImageView+WebCache.h"


@interface KWMAdHeader()

 @property (nonatomic,strong) KWMBannerView *bannerView;

@end

@implementation KWMAdHeader

+(NSString *)kwmTag{
    return @"KWMAdHeader";
}

- (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{
    self.bannerView = [[KWMBannerView alloc]initWithFrame:self.frame];
    self.bannerView.delegate = self;
    [self addSubview:self.bannerView];
}

-(void)startBannerTimer{
    [self.bannerView addTimer];
}

-(void)endBannerTimer{
    [self.bannerView removeTimer];
}

-(void)setAdArray:(NSArray<KWMAdvertisement *> *)adArray{
    _adArray = adArray;
    [self.bannerView reloadData];
}

#pragma mark - KWMBannerViewDelegate
-(UIView *)bannerView:(KWMBannerView *)bannerView reusingView:(UIView *)reusingView pageAtIndex:(NSInteger)index{
    UIView *itemView = reusingView?reusingView:nil;
    UIImageView *topBannerItem = nil;
    if(!itemView){
        topBannerItem = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, bannerView.frame.size.width, bannerView.frame.size.height)];
    }else{
        topBannerItem = (UIImageView *)itemView;
    }
    
    KWMAdvertisement *ad = [self.adArray objectAtIndex:index];
    NSURL *imageURL = [NSURL URLWithString:ad.image];
    [topBannerItem sd_setImageWithURL:imageURL placeholderImage:[UIImage imageNamed:@"ic_loading"]];
    
    //topBannerItem.image = [UIImage imageNamed:@"test_banner_1"];
    topBannerItem.contentMode=UIViewContentModeScaleAspectFill;
    itemView = topBannerItem;

    return itemView;
}

-(NSInteger)numberOfPagesForBanner:(KWMBannerView *)bannerView{
    return self.adArray?self.adArray.count:0;
}

-(void)bannerView:(KWMBannerView *)bannerView onClickPage:(NSInteger)index{
    KWMAdvertisement *ad = [self.adArray objectAtIndex:index];
    if(self.delegate){
        [self.delegate kwm_gotoWebView:ad.url];
    }
}

@end