CNMyTableViewHeaderView.m
4.9 KB
1
2
3
4
5
6
7
8
9
10
11
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
//
// 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