fix: 修正我的 tab 渲染卡主线程问题 | 修正靓号 ID centerY 对齐

This commit is contained in:
eggmanQQQ
2024-08-08 15:45:46 +08:00
parent 259c8ab3f7
commit 778b9cfa4b
6 changed files with 120 additions and 48 deletions

View File

@@ -39,7 +39,7 @@
make.trailing.mas_equalTo(self).offset(-26);
}
make.centerY.mas_equalTo(self);
make.centerY.mas_equalTo(self).offset(0.8);
}];
[self.copiedImageView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -55,7 +55,7 @@
self.numLabel.text = num;
UIImage *longBackgroundImage = [UIImage imageNamed:@"user_info_id_beatiful_mark_short"];
UIEdgeInsets capInsets = UIEdgeInsetsMake(0, 20, 0, 14);
UIEdgeInsets capInsets = UIEdgeInsetsMake(0, 27, 0, 14);
UIImage *resizableImage = [longBackgroundImage resizableImageWithCapInsets:capInsets resizingMode:UIImageResizingModeStretch];
self.frameImageView.image = resizableImage;
}

View File

@@ -38,7 +38,7 @@ typedef void(^CompletionHandler)(NSMutableAttributedString *);
@property (nonatomic, assign) NSInteger visitorUnReadCount;
///当装扮铭牌时,我的页面中不需要显示铭牌标识
- (void)createNamePlateLevelAttribute:(UserInfoModel *)userInfo complete:(CompletionHandler)complete;
- (void)createNamePlateLevelAttribute:(UserInfoModel *)userInfo;// complete:(CompletionHandler)complete;
///id
- (NSMutableAttributedString *)createNamePlateIdLabelAttribute:(UserInfoModel *)userInfo ;
@end

View File

@@ -41,6 +41,12 @@
///
@property (nonatomic,strong) YYLabel *levelLabel;
@property (nonatomic,strong) NetImageView *experImageView;
@property (nonatomic,strong) NetImageView *charmImageView;
//@property (nonatomic,strong) NetImageView *nameplateImageView;
//@property (nonatomic,strong) UILabel *nameplateLabel;
///
@property (nonatomic,strong) UIStackView *attentionStackView;
///
@@ -97,6 +103,8 @@
[_stackView addArrangedSubview:self.nobleEntranceView];
[_stackView addArrangedSubview:self.agencyView];
[self addSubview:self.experImageView];
[self addSubview:self.charmImageView];
[self.avatarImageView addSubview:self.reviewView];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAvatarImageView)];
@@ -131,6 +139,20 @@
make.top.mas_equalTo(self.idStackView.mas_bottom).offset(5);
}];
[self.experImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.nameStackView);
make.top.mas_equalTo(self.idStackView.mas_bottom).offset(5);
make.width.mas_equalTo(0);
make.height.mas_equalTo(20);
}];
[self.charmImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self.experImageView.mas_trailing).offset(8);
make.top.mas_equalTo(self.idStackView.mas_bottom).offset(5);
make.width.mas_equalTo(0);
make.height.mas_equalTo(20);
}];
[self.attentionStackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.avatarImageView.mas_bottom).mas_offset(16);
make.height.mas_equalTo(60);
@@ -214,7 +236,7 @@
NetImageConfig *config = [[NetImageConfig alloc]init];
///
config.autoLoad = YES;
NetImageView *imageView = [[NetImageView alloc]initWithUrl:imageUrl config:config];
NetImageView *imageView = [[NetImageView alloc] initWithUrl:imageUrl config:config];
UIImage* image = imageView.image;
if (image) {
CGFloat height = image.size.height > 0 ? image.size.height : 1;
@@ -320,32 +342,33 @@
attachment.bounds = CGRectMake(0, roundf(font.capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height);
attachment.image = iconImage;
[textAtt insertAttributedString:[NSMutableAttributedString attributedStringWithAttachment:attachment] atIndex:textAtt.length];
self.idLabel.attributedText = textAtt;
return textAtt;
}
///
- (void)createNamePlateLevelAttribute:(UserInfoModel *)userInfo complete:(nonnull CompletionHandler)complete{
- (void)createNamePlateLevelAttribute:(UserInfoModel *)userInfo {// complete:(nonnull CompletionHandler)complete{
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] init];
if (!userInfo) {
if(complete){
complete(attributedString);
}
// if(complete){
// complete(attributedString);
// }
return;
}
// if(userInfo.isCertified == YES){
// //
// if (userInfo.nameplatePic.length > 0) {
// [self createNameplateAttibuteWithImage:userInfo.nameplatePic];
// [attributedString appendAttributedString:[self createSpaceAttribute:2]];
// }
// }else{
// //
// if (userInfo.nameplateWord.length > 0 && userInfo.nameplatePic.length>0) {
// [self createNameplateAttibute:userInfo.nameplateWord image:userInfo.nameplatePic textFont:[UIFont systemFontOfSize:9]];
// [attributedString appendAttributedString:[self createSpaceAttribute:2]];
// }
// }
if(userInfo.isCertified == YES){
//
if (userInfo.nameplatePic.length > 0) {
[self createNameplateAttibuteWithImage:userInfo.nameplatePic];
[attributedString appendAttributedString:[self createSpaceAttribute:2]];
}
}else{
//
if (userInfo.nameplateWord.length > 0 && userInfo.nameplatePic.length>0) {
[self createNameplateAttibute:userInfo.nameplateWord image:userInfo.nameplatePic textFont:[UIFont systemFontOfSize:9]];
[attributedString appendAttributedString:[self createSpaceAttribute:2]];
}
}
// userRank
if (userInfo.userLevelVo.experUrl) {
@@ -359,16 +382,18 @@
[attributedString appendAttributedString:[self createSpaceAttribute:4]];
}
if(complete){
complete(attributedString);
}
// if(complete){
// complete(attributedString);
// }
self.levelLabel.attributedText = attributedString;
}
#pragma mark - Getters And Setters
- (void)setUserInfo:(UserInfoModel *)userInfo {
_userInfo = userInfo;
if (_userInfo) {
self.idLabel.attributedText = userInfo.idAtt;
self.nameLabel.text = _userInfo.nick.length > 0 ? _userInfo.nick : @"";
self.avatarImageView.imageUrl = userInfo.avatar;
if (userInfo.isReview) {
@@ -384,10 +409,55 @@
self.sexImageView.selected = _userInfo.gender != GenderType_Male;
self.sexImageView.titleEdgeInsets = _userInfo.gender != GenderType_Male ? UIEdgeInsetsMake(0, 2, 0, 0):UIEdgeInsetsMake(0, -1, 0, 0);
self.levelLabel.attributedText = _userInfo.levelAtt;
// self.levelLabel.attributedText = _userInfo.levelAtt;
self.fansView.number = [NSString stringWithFormat:@"%ld",_userInfo.fansNum];
self.attentionView.number = [NSString stringWithFormat:@"%ld",_userInfo.followNum];
// self.nameplateImageView.imageUrl = _userInfo.nameplatePic;
@kWeakify(self);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
@kStrongify(self);
@kWeakify(self);
[self.experImageView loadImageWithUrl:self.userInfo.userLevelVo.experUrl completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
@kStrongify(self);
self.experImageView.image = image;
CGFloat scale = 0;
if (image) {
CGFloat height = image.size.height > 0 ? image.size.height : 1;
scale = image.size.width / height ;
}
else {
NSURL *imgUrl = [NSURL URLWithString:self.userInfo.userLevelVo.experUrl];
UIImage *myImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:imgUrl]];
CGFloat height = myImage.size.height > 0 ? myImage.size.height : 1;
scale = myImage.size.width / height;
}
[self.experImageView mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(20 * scale);
}];
}];
[self.charmImageView loadImageWithUrl:self.userInfo.userLevelVo.charmUrl completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
@kStrongify(self);
self.charmImageView.image = image;
CGFloat scale = 0;
if (image) {
CGFloat height = image.size.height > 0 ? image.size.height : 1;
scale = image.size.width / height ;
}
else {
NSURL *imgUrl = [NSURL URLWithString:self.userInfo.userLevelVo.experUrl];
UIImage *myImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:imgUrl]];
CGFloat height = myImage.size.height > 0 ? myImage.size.height : 1;
scale = myImage.size.width / height;
}
[self.charmImageView mas_updateConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(20 * scale);
}];
}];
});
}
}
@@ -486,6 +556,22 @@
return _levelLabel;
}
- (NetImageView *)experImageView {
if (!_experImageView) {
_experImageView = [[NetImageView alloc] init];
_experImageView.contentMode = UIViewContentModeScaleAspectFit;
}
return _experImageView;
}
- (NetImageView *)charmImageView {
if (!_charmImageView) {
_charmImageView = [[NetImageView alloc] init];
_charmImageView.contentMode = UIViewContentModeScaleAspectFit;
}
return _charmImageView;
}
- (UIStackView *)attentionStackView {
if (!_attentionStackView) {
_attentionStackView = [[UIStackView alloc] init];

View File

@@ -125,9 +125,6 @@ UIKIT_EXTERN NSString *kRequestTicket;
if([AccountInfoStorage instance].isRequestTicket == NO) {
[self getDataInfo];
}
if (!self.userInfo) {
[self showLoading];
}
}
- (void)viewDidAppear:(BOOL)animated {
@@ -135,6 +132,9 @@ UIKIT_EXTERN NSString *kRequestTicket;
}
-(void)getDataInfo{
if (self.functionArray.count < 2) {
[self.presenter getPersonItemList];
}
[self.presenter getUserInfo];
}
@@ -629,12 +629,11 @@ UIKIT_EXTERN NSString *kRequestTicket;
- (void)onGetUserInfoSuccess:(UserInfoModel *)userInfo {
///401
[self hideHUD];
if (!userInfo.isBindPhone && [ClientConfig shareConfig].iOSPhoneBind) {
[self hideHUD];
return;
}
if (userInfo.nick == nil || userInfo.avatar == nil ) {
[self hideHUD];
return;
}
@@ -642,27 +641,17 @@ UIKIT_EXTERN NSString *kRequestTicket;
self.userInfo = userInfo;
@kWeakify(self);
userInfo.idAtt = [self.headView createNamePlateIdLabelAttribute:userInfo];
[self.tableView reloadData];
[self.headView createNamePlateIdLabelAttribute:userInfo];
self.headView.userInfo = userInfo;
dispatch_async(dispatch_get_global_queue(0, 0), ^{
@kStrongify(self);
[self.presenter getClanDetailInfo];
[self.presenter getUserWalletInfo];
[self.presenter getPersonItemList];
// [self.presenter getMineBannerList];
[self.presenter getNobleInfo];
});
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self.headView createNamePlateLevelAttribute:userInfo complete:^(NSMutableAttributedString *textAtt) {
@kStrongify(self);
dispatch_async(dispatch_get_main_queue(), ^{
userInfo.levelAtt = textAtt;
self.headView.userInfo = userInfo;
});
}];
});
}
- (void)getUserWalletInfo:(WalletInfoModel *)balanceInfo{

View File

@@ -1100,7 +1100,6 @@
giftInfo = [[XPGiftStorage shareStorage] findGiftInfo:info.giftId];
}
///
[attribute appendAttributedString:[self createOfficalAndNewuserAttribute:sendInfo.defUser newUser:sendInfo.newUser fromSayHelloChannel:sendInfo.fromSayHelloChannel]];
//nick

View File

@@ -237,7 +237,7 @@
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
dict[@"ret_code"] = @(0);
dict[@"ret_msg"] = @"return form APP onGetGameCfg";
dict[@"ui"] = @{
@"join_btn" : @{@"custom": @(YES), @"hide": @(YES)},//
@"start_btn" : @{@"custom": @(YES), @"hide": @(YES)},//
@@ -274,8 +274,6 @@
if(self.delegate && [self.delegate respondsToSelector:@selector(getGameRsultsWithList:)]){
[self.delegate getGameRsultsWithList:list];
}
}else if ([state isEqualToString:MG_COMMON_PUBLIC_MESSAGE]) {
NSLog(@"ISudFSMMG:onGameStateChange:游戏->APP:公屏消息");
} else if ([state isEqualToString:MG_COMMON_KEY_WORD_TO_HIT]) {