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

#import "CNMyTableViewHeaderView.h"

@interface CNMyTableViewHeaderView()
@property (nonatomic, strong) UIImageView *headerImage;
@property (nonatomic, strong) UIButton *clickedBtn;


@end
@implementation CNMyTableViewHeaderView
- (instancetype)initWithFrame:(CGRect)frame{
    self = [super initWithFrame:frame];
    if(self){
        [self setUpUI];
    }
    return self;
    
}

- (void)setUpUI{
//    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeLanguageVersion:) name:@"changeLanguageVersion" object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(loginSuccessful:) name:LoginSuccessful object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(exitSuccessful:) name:ExitSuccessful object:nil];

    self.headerImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
    _headerImage.contentMode = UIViewContentModeScaleAspectFill;
    _headerImage.layer.cornerRadius = 30;
    _headerImage.layer.masksToBounds = YES;
    _headerImage.userInteractionEnabled = YES;
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clickedLoginBtn)];
    [_headerImage addGestureRecognizer:tap];
    [self addSubview:_headerImage];
    
    self.clickedBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    _clickedBtn.frame = CGRectMake(0, 0, 120, 30);
    [_clickedBtn setTitle:CustomStr(@"ClickLogin") forState:UIControlStateNormal];
    [_clickedBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    _clickedBtn.titleLabel.font = [UIFont systemFontOfSize:13];
    _clickedBtn.layer.borderColor = [UIColor whiteColor].CGColor;
    _clickedBtn.layer.borderWidth = 1;
    _clickedBtn.layer.cornerRadius = 2;
    _clickedBtn.layer.masksToBounds = YES;
    _clickedBtn.backgroundColor = Color_Blue;
    [_clickedBtn addTarget:self action:@selector(clickedLoginBtn) forControlEvents:UIControlEventTouchUpInside];
    [self addSubview:self.clickedBtn];
    
    if ([[ZXWUserInformation shareZXWUserInformation] isLogin]){
        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
        NSString *pic = [userDefaults valueForKey:@"user_headimg"];
        [_headerImage sd_setImageWithURL:[NSURL URLWithString:pic] placeholderImage:[UIImage imageNamed:@"cnlive_my_header"]];
        
        NSString *name = [userDefaults valueForKey:@"user_name"];
        [_clickedBtn setTitle:name forState:UIControlStateNormal];


    }else{
        _headerImage.image = [UIImage imageNamed:@"cnlive_my_header"];
        [_clickedBtn setTitle:CustomStr(@"ClickLogin") forState:UIControlStateNormal];

    }
    
}
- (void)loginSuccessful:(NSNotification *)noti{
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    NSString *pic = [userDefaults valueForKey:@"user_headimg"];
    [_headerImage sd_setImageWithURL:[NSURL URLWithString:pic] placeholderImage:[UIImage imageNamed:@"cnlive_my_header"]];
    
    NSString *name = [userDefaults valueForKey:@"user_name"];
    [_clickedBtn setTitle:name forState:UIControlStateNormal];
    [self layoutSubviews];

}
- (void)exitSuccessful:(NSNotification *)noti{
    _headerImage.image = [UIImage imageNamed:@"cnlive_my_header"];
    [_clickedBtn setTitle:CustomStr(@"ClickLogin") forState:UIControlStateNormal];
    [self layoutSubviews];

}
//- (void)changeLanguageVersion:(NSNotification *)notification {
//    [_clickedBtn setTitle:CustomStr(@"ClickLogin") forState:UIControlStateNormal];
//    [self layoutSubviews];
//}

- (void)dealloc{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    
}
- (void)layoutSubviews{
    
    [_headerImage mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(self.mas_left).with.offset(20);
        make.centerY.equalTo(self.mas_centerY);
        make.width.offset(60);
        make.height.offset(60);

    }];
    
    NSString *content = _clickedBtn.titleLabel.text;
    UIFont *font = [UIFont systemFontOfSize:13];
    CGSize size = CGSizeMake(MAXFLOAT, 30.0f);
    CGFloat buttonWidth = [content boundingRectWithSize:size options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:@{ NSFontAttributeName:font } context:nil].size.width+10;
    
    [_clickedBtn mas_updateConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(self->_headerImage.mas_right).with.offset(10);
        make.centerY.equalTo(self.mas_centerY);
        make.width.offset(buttonWidth);
    }];
    
}
- (void)clickedLoginBtn{
    self.block?self.block():@"";

}

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
    // Drawing code
}
*/

@end