CNMyTableViewHeaderView.m
4.41 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
//
// 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];
}
- (void)exitSuccessful:(NSNotification *)noti{
_headerImage.image = [UIImage imageNamed:@"cnlive_my_header"];
[_clickedBtn setTitle:CustomStr(@"ClickLogin") forState:UIControlStateNormal];
}
- (void)changeLanguageVersion:(NSNotification *)notification {
[_clickedBtn setTitle:CustomStr(@"ClickLogin") forState:UIControlStateNormal];
}
- (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);
}];
[_clickedBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self->_headerImage.mas_right).with.offset(20);
make.centerY.equalTo(self.mas_centerY);
// make.width.offset(60);
}];
}
- (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