|
//
// channelMenuLoginButton.m
// ThePaperBase
//
// Created by scar1900 on 15/7/23.
// Copyright (c) 2015年 scar1900. All rights reserved.
//
#import "channelMenuLoginButton.h"
#import "AsyncImageView.h"
@interface channelMenuLoginButton()
@property(nonatomic, strong)UILabel *textLabel;
@property(nonatomic, strong)NSString *loginTitle;
@property(nonatomic, strong)UIView* imageBack;
@property(nonatomic, strong)AsyncImageView *headImageView;
@end
@implementation channelMenuLoginButton
@synthesize loginTitle = _loginTitle;
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
self.layer.cornerRadius = 0.f;
self.clipsToBounds = NO;
[self addSubview:self.textLabel];
[self addSubview:self.imageBack];
[self addSubview:self.headImageView];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(changeUserPic) name:CHANGEUSERPICSUCCESS object:nil];
//个人中心修改昵称后,在我的社区中昵称仍为原来的名字(bug:5023)
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(changeUserName) name:CHANGEUSERNAMESUCCESS object:nil];
}
return self;
}
- (void)refreshLoginBtn {
if ([TPUserDefault instance].userBO) {
self.loginTitle = [TPUserDefault instance].userBO.sname;
}else {
self.loginTitle = @"登录";
}
}
- (UIView*)imageBack {
if (!_imageBack) {
_imageBack = [UIView new];
_imageBack.backgroundColor = [UIColor whiteColor];
_imageBack.layer.cornerRadius = 21/2;
_imageBack.hidden = YES;
_imageBack.clipsToBounds = YES;
}
return _imageBack;
}
- (AsyncImageView*)headImageView {
if (!_headImageView) {
_headImageView = [AsyncImageView new];
_headImageView.isHaveWaterPrint = NO;
_headImageView.backgroundColor = [UIColor clearColor];
_headImageView.imageView.backgroundColor = [UIColor clearColor];
_headImageView.layer.cornerRadius = 19/2;
_headImageView.defaultImage = Image(@"login/loginIcon_s.png");
/**
* bug:5287(打底图问题汇总)
*/
_headImageView.clipsToBounds = YES;
_headImageView.imageView.userInteractionEnabled = YES;
_headImageView.imageView.hidden = NO;
}
return _headImageView;
}
- (UILabel*)textLabel {
if (!_textLabel) {
_textLabel = [UILabel new];
_textLabel.textColor = [UIColor whiteColor];
_textLabel.textAlignment = NSTextAlignmentCenter;
_textLabel.backgroundColor = [UIColor clearColor];
// _textLabel.lineBreakMode = NSLineBreakByTruncatingTail;
}
_textLabel.font = appFont(TEXT_FOUR_LEVELSIZE, NO);
return _textLabel;
}
- (void)setLoginTitle:(NSString *)text {
_loginTitle = text;
self.textLabel.text = text;
CGSize labelSize = [self.textLabel sizeThatFits:CGSizeZero];
if (labelSize.width > rect_screen.size.width-30-30)
labelSize.width = rect_screen.size.width-30-30;
/**
* bug:5087&&5042(频道导航页,昵称太长,头像也被挤出去了&&用户昵称在我的社区中的显示未居中)
*/
[self.textLabel remakeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.centerX).offset(13);
make.top.equalTo(self.top);
make.bottom.equalTo(self.bottom);
make.width.mas_equalTo(labelSize.width);
}];
if ([TPUserDefault instance].userBO) {
self.imageBack.hidden = NO;
self.headImageView.hidden = NO;
[self.imageBack remakeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.centerY);
make.width.equalTo(@21);
make.height.equalTo(@21);
make.right.equalTo(self.textLabel.left).offset(-5);
}];
[self.headImageView remakeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.imageBack.centerX);
make.centerY.equalTo(self.imageBack.centerY);
make.width.equalTo(@19);
make.height.equalTo(@19);
}];
self.headImageView.imageUrl = [TPUserDefault instance].userBO.pic;
self.headImageView.imageId = getImageNameFromURL([TPUserDefault instance].userBO.pic);
}else {
[self.textLabel remakeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.centerX);
make.top.equalTo(self.top);
make.bottom.equalTo(self.bottom);
make.width.mas_equalTo(labelSize.width);
}];
[self.imageBack remakeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.centerY);
make.width.equalTo(@0);
make.height.equalTo(@0);
make.right.equalTo(self.textLabel.left).offset(-5);
}];
[self.headImageView remakeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.imageBack.centerX);
make.centerY.equalTo(self.imageBack.centerY);
make.width.equalTo(@0);
make.height.equalTo(@0);
}];
self.imageBack.hidden = YES;
self.headImageView.hidden = YES;
}
}
- (void)layoutSubviews {
[super layoutSubviews];
}
- (void)changeUserPic {
[self refreshLoginBtn];
}
//个人中心修改昵称后,在我的社区中昵称仍为原来的名字(bug:5023)
-(void) changeUserName{
[self refreshLoginBtn];
}
- (void)dealloc {
[[NSNotificationCenter defaultCenter]removeObserver:self];
}
@end
|