// // 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