KWMAdHeader.m 2.31 KB
Newer Older
houweibin committed
1 2 3 4 5 6 7 8 9
//
//  KWMAdHeader.m
//  iCemarose
//
//  Created by HouWeiBin on 2017/7/10.
//  Copyright © 2017年 kollway. All rights reserved.
//

#import "KWMAdHeader.h"
houweibin committed
10 11
#import "UIImageView+WebCache.h"

houweibin committed
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

@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];
}

houweibin committed
61 62 63 64 65
-(void)setAdArray:(NSArray<KWMAdvertisement *> *)adArray{
    _adArray = adArray;
    [self.bannerView reloadData];
}

houweibin committed
66 67 68 69 70 71 72 73 74
#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;
    }
houweibin committed
75 76 77 78 79 80
    
    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"];
houweibin committed
81 82 83 84 85 86 87
    topBannerItem.contentMode=UIViewContentModeScaleAspectFill;
    itemView = topBannerItem;

    return itemView;
}

-(NSInteger)numberOfPagesForBanner:(KWMBannerView *)bannerView{
houweibin committed
88
    return self.adArray?self.adArray.count:0;
houweibin committed
89 90 91
}

-(void)bannerView:(KWMBannerView *)bannerView onClickPage:(NSInteger)index{
houweibin committed
92 93 94 95
    KWMAdvertisement *ad = [self.adArray objectAtIndex:index];
    if(self.delegate){
        [self.delegate kwm_gotoWebView:ad.url];
    }
houweibin committed
96 97 98
}

@end