CNLiveHeaderView.m 4.87 KB
//
//  CNLiveHeaderView.m
//  CNLiveScioLive
//
//  Created by CNLive-zxw on 2018/9/18.
//  Copyright © 2018年 CNLive. All rights reserved.
//

#import "CNLiveHeaderView.h"
#import "CNLiveModel.h"

@interface CNLiveHeaderView()
@property (nonatomic, strong) UIImageView *backgroundImage;
@property (nonatomic, strong) UILabel *stateLabel;//状态
@property (nonatomic, strong) UIButton *playImage;//播放

@end

@implementation CNLiveHeaderView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.backgroundColor = HEXCOLOR(0xebebeb);
        
        _backgroundImage = [[UIImageView alloc] init];
        _backgroundImage.contentMode = UIViewContentModeScaleAspectFill;
        _backgroundImage.layer.masksToBounds = YES;
        _backgroundImage.layer.cornerRadius = 2.0;
        _backgroundImage.image = [UIImage imageNamed:@"cnlive_placeholder"];
        [self addSubview:_backgroundImage];
        
        _playImage = [UIButton buttonWithType:UIButtonTypeCustom];
        _playImage.layer.masksToBounds = YES;
        [_playImage setImage:[UIImage imageNamed:@"cnlive_play"] forState:UIControlStateNormal];
        [_playImage addTarget:self action:@selector(playImageClicked:) forControlEvents:UIControlEventTouchUpInside];
        [self addSubview:_playImage];
        
        _stateLabel = [[UILabel alloc] init];
        _stateLabel.numberOfLines = 1;
        _stateLabel.lineBreakMode = NSLineBreakByTruncatingTail;
        _stateLabel.textColor = [UIColor whiteColor];
        _stateLabel.backgroundColor = [UIColor redColor];
        _stateLabel.font = [UIFont systemFontOfSize:13];
        _stateLabel.layer.masksToBounds = YES;
        _stateLabel.layer.cornerRadius = 2;
        [self addSubview:_stateLabel];
        
        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapDidClicked)];
        [self addGestureRecognizer:tap];

    }
    return self;
    
}
- (void)setModel:(CNLiveModel *)model{
    _model = model;
    [_backgroundImage sd_setImageWithURL:[NSURL URLWithString:model.poster] placeholderImage:[UIImage imageNamed:@"cnlive_placeholder"]];
    switch ([model.status intValue]) {
        case 0: {
            _stateLabel.text = @"直播准备";
            _stateLabel.hidden = NO;
            [_stateLabel sizeToFit];
//            self.canClicked = YES;
            _playImage.hidden = YES;
            break;
        }
        case 1: {
            _stateLabel.text = @"直播中";
            _stateLabel.hidden = NO;
            [_stateLabel sizeToFit];
//            self.canClicked = YES;
            _playImage.hidden = NO;
            break;
        }
        case 2: {
            _stateLabel.text = @"直播结束";
            _stateLabel.hidden = NO;
            [_stateLabel sizeToFit];
//            self.canClicked = NO;
            _playImage.hidden = YES;
            break;
        }
        case 3: {
            _stateLabel.text = @"回放中";
            _stateLabel.hidden = NO;
            [_stateLabel sizeToFit];
//            self.canClicked = YES;
            self.playImage.hidden = YES;
            break;
        }
        case 4: {
            _stateLabel.text = @"回放中";
            _stateLabel.hidden = NO;
            [_stateLabel sizeToFit];
//            self.canClicked = YES;
            _playImage.hidden = NO;
            break;
        }
        case 5: {
            _stateLabel.text = @"直播下线";
            _stateLabel.hidden = NO;
            [_stateLabel sizeToFit];
//            self.canClicked = NO;
            break;
        }

        case -2: {
            _stateLabel.text = @"直播异常";
            _stateLabel.hidden = NO;
            [_stateLabel sizeToFit];
//            self.canClicked = NO;
            _playImage.hidden = YES;
            break;
        }
        default:
            break;
    }
    [self layoutSubviews];

}
- (void)layoutSubviews{
    
    [_backgroundImage mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(self.mas_left).with.offset(0);
        make.right.equalTo(self.mas_right).with.offset(0);
        make.top.equalTo(self.mas_top).with.offset(0);
        make.bottom.equalTo(self.mas_bottom).with.offset(0);
    }];
    
    [_playImage mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerX.offset(self->_backgroundImage.centerX);
        make.centerY.offset(self->_backgroundImage.centerY);
        make.width.offset(40);
        make.height.offset(40);

    }];
    
    [_stateLabel mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(self->_backgroundImage.mas_left).with.offset(10);
        make.top.equalTo(self->_backgroundImage.mas_top).with.offset(10);
        make.height.offset(18);
        
    }];
    
}

- (void)playImageClicked:(UIButton *)btn{
    self.block?self.block():@"";
    
}

- (void)tapDidClicked{
    self.block?self.block():@"";

}

@end