修复了房间内私聊背景以及样式的问题

This commit is contained in:
fengshuo
2022-06-13 16:19:40 +08:00
parent 8b43023ae5
commit e51ff0f919
10 changed files with 260 additions and 203 deletions

View File

@@ -159,9 +159,11 @@
- (void)initViews {
self.sessionNavView.isInRoom = self.openType == SessionListOpenTypeRoom;
[self.view addSubview:self.sessionNavView];
[self.view addSubview:self.followInRoomView];
[self.view addSubview:self.sessionTableView];
[self.view addSubview:self.toolbarView];
if (self.openType == SessionListOpenTypeDefault) {
[self.view addSubview:self.followInRoomView];
}
}
- (void)initLayout {
@@ -170,11 +172,6 @@
make.left.top.right.mas_equalTo(self.view);
}];
[self.followInRoomView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.view);
make.top.mas_equalTo(self.sessionNavView.mas_bottom);
make.height.mas_equalTo(80);
}];
[self.sessionTableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.view);
make.top.mas_equalTo(self.sessionNavView.mas_bottom);
@@ -185,6 +182,14 @@
make.left.right.mas_equalTo(self.view);
make.bottom.mas_equalTo(self.view);
}];
if (self.openType == SessionListOpenTypeDefault) {
[self.followInRoomView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.view);
make.top.mas_equalTo(self.sessionNavView.mas_bottom);
make.height.mas_equalTo(80);
}];
}
}
- (void)initData {
@@ -234,7 +239,7 @@
if (userInfo.nick.length > 0) {
self.sessionNavView.title = userInfo.nick;
}
if (userInfo.roomUid) {
if (userInfo.roomUid && self.openType == SessionListOpenTypeDefault) {
self.followInRoomView.hidden = NO;
self.followInRoomView.userInfo = userInfo;
[self.sessionTableView mas_updateConstraints:^(MASConstraintMaker *make) {
@@ -366,12 +371,15 @@
#pragma mark - XPSessionMessageHeadViewDelegate
- (void)onAvatarClick:(NSInteger)uid {
if (self.openType == SessionListOpenTypeDefault) {
XPMineUserInfoViewController * infoVC = [[XPMineUserInfoViewController alloc] init];
infoVC.uid = uid;
[self.getKeyWindowNav pushViewController:infoVC animated:YES];
}
}
- (void)onFollowInRoom:(NSString *)roomUid {
if (self.openType == SessionListOpenTypeDefault) {
__block BOOL isSameRoom = NO;
__block RoomInfoModel *roomModel;
[self.getKeyWindowNav.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
@@ -396,6 +404,7 @@
[XPRoomViewController openRoom:roomUid fromNick:self.userInfo.nick fromType:UserEnterRoomFromType_Follow_User fromUid:[NSString stringWithFormat:@"%ld", self.userInfo.uid] viewController:self];
}
}
}
}
- (void)didFailRetry:(NIMMessage *)message {

View File

@@ -50,7 +50,7 @@
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [ThemeColor appCellBackgroundColor];
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.avatarImageView];
[self.contentView addSubview:self.stackView];
@@ -111,10 +111,16 @@
_fansInfo = fansInfo;
if (_fansInfo) {
self.avatarImageView.imageUrl = _fansInfo.avatar;
self.nickLabel.text = _fansInfo.nick;
self.signLabel.text = _fansInfo.userDesc && _fansInfo.userDesc.length > 0? _fansInfo.userDesc : @"这个人很懒还没有签名";
if (!_fansInfo.isInRoom) {
self.experImageView.hidden = NO;
self.charmImageView.hidden = NO;
self.nobleImageView.hidden = NO;
self.sexImageView.hidden = NO;
self.experImageView.imageUrl = _fansInfo.experUrl;
self.charmImageView.imageUrl = _fansInfo.charmUrl;
self.nobleImageView.imageUrl = _fansInfo.userVipInfoVO.vipIcon;
self.nickLabel.text = _fansInfo.nick;
NSString *sexStr;
if (_fansInfo.gender == GenderType_Male) {
sexStr = @"common_male";
@@ -122,8 +128,8 @@
sexStr = @"common_female";
}
self.sexImageView.image = [UIImage imageNamed:sexStr];
self.signLabel.text = _fansInfo.userDesc && _fansInfo.userDesc.length > 0? _fansInfo.userDesc : @"这个人很懒还没有签名";
self.findButton.hidden = _fansInfo.userInRoomUid.length <= 0 || _fansInfo.isInRoom;
self.findButton.hidden = _fansInfo.userInRoomUid.length <= 0;
UIImage* image = self.experImageView.image;
if (image) {
CGFloat scale = image.size.width / image.size.height;
@@ -170,6 +176,14 @@
} else {
self.nickLabel.textColor = [ThemeColor mainTextColor];
}
} else {
self.experImageView.hidden = YES;
self.charmImageView.hidden = YES;
self.nobleImageView.hidden = YES;
self.sexImageView.hidden = YES;
self.findButton.hidden = YES;
self.nickLabel.textColor = [ThemeColor mainTextColor];
}
}
}

View File

@@ -17,8 +17,6 @@ NS_ASSUME_NONNULL_BEGIN
@interface XPMineFansTableViewCell : UITableViewCell
///粉丝信息
@property (nonatomic,strong) FansInfoModel *fansInfo;
///是否在房间中
@property (nonatomic,assign) BOOL isInRoom;
///代理
@property (nonatomic,weak) id<XPMineFansTableViewCellDelegate> delegate;

View File

@@ -51,7 +51,7 @@
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [ThemeColor appCellBackgroundColor];
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.avatarImageView];
[self.contentView addSubview:self.stackView];
@@ -112,10 +112,18 @@
_fansInfo = fansInfo;
if (_fansInfo) {
self.avatarImageView.imageUrl = _fansInfo.avatar;
self.nickLabel.text = _fansInfo.nick;
self.signLabel.text = _fansInfo.userDesc && _fansInfo.userDesc.length > 0? _fansInfo.userDesc : @"这个人很懒还没有签名";
if (!_fansInfo.isInRoom) {
self.experImageView.hidden = NO;
self.charmImageView.hidden = NO;
self.nobleImageView.hidden = NO;
self.sexImageView.hidden = NO;
self.attentionButton.hidden = NO;
self.experImageView.imageUrl = _fansInfo.experUrl;
self.charmImageView.imageUrl = _fansInfo.charmUrl;
self.nobleImageView.imageUrl = _fansInfo.userVipInfoVO.vipIcon;
self.nickLabel.text = _fansInfo.nick;
NSString *sexStr;
if (_fansInfo.gender == GenderType_Male) {
sexStr = @"common_male";
@@ -123,7 +131,7 @@
sexStr = @"common_female";
}
self.sexImageView.image = [UIImage imageNamed:sexStr];
self.signLabel.text = _fansInfo.userDesc && _fansInfo.userDesc.length > 0? _fansInfo.userDesc : @"这个人很懒还没有签名";
BOOL isMyFriend = [[NIMSDK sharedSDK].userManager isMyFriend:_fansInfo.uid];
self.attentionButton.enabled = !isMyFriend;
@@ -175,6 +183,14 @@
} else {
self.nickLabel.textColor = [ThemeColor mainTextColor];
}
} else {
self.experImageView.hidden = YES;
self.charmImageView.hidden = YES;
self.nobleImageView.hidden = YES;
self.sexImageView.hidden = YES;
self.attentionButton.hidden = YES;
self.nickLabel.textColor = [ThemeColor mainTextColor];
}
}
}

View File

@@ -11,7 +11,8 @@ NS_ASSUME_NONNULL_BEGIN
@class UserInfoModel;
@interface XPMineFriendTableViewCell : UITableViewCell
@property (nonatomic,strong) UserInfoModel *userInfo;
///是否在房内聊天
@property (nonatomic,assign) BOOL isInRoom;
@end
NS_ASSUME_NONNULL_END

View File

@@ -47,7 +47,7 @@
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [ThemeColor appCellBackgroundColor];
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.avatarImageView];
[self.contentView addSubview:self.stackView];
@@ -90,9 +90,13 @@
_userInfo = userInfo;
if (_userInfo) {
self.avatarImageView.imageUrl = _userInfo.avatar;
self.nickLabel.text = _userInfo.nick;
self.signLabel.text = _userInfo.userDesc && _userInfo.userDesc.length > 0? _userInfo.userDesc : @"这个人很懒还没有签名";
if (self.isInRoom) {
self.experImageView.hidden = NO;
self.charmImageView.hidden = NO;
self.experImageView.imageUrl = _userInfo.userLevelVo.experUrl;
self.charmImageView.imageUrl = _userInfo.userLevelVo.charmUrl;
self.nickLabel.text = _userInfo.nick;
NSString *sexStr;
if (_userInfo.gender == GenderType_Male) {
sexStr = @"common_male";
@@ -100,7 +104,6 @@
sexStr = @"common_female";
}
self.sexImageView.image = [UIImage imageNamed:sexStr];
self.signLabel.text = _userInfo.userDesc && _userInfo.userDesc.length > 0? _userInfo.userDesc : @"这个人很懒还没有签名";
UIImage* image = self.experImageView.image;
if (image) {
CGFloat scale = image.size.width / image.size.height;
@@ -130,6 +133,10 @@
make.size.mas_equalTo(CGSizeMake(20* scale, 20));
}];
}
} else {
self.experImageView.hidden = YES;
self.charmImageView.hidden = YES;
}
}
}

View File

@@ -47,12 +47,14 @@
- (void)viewDidLoad {
[super viewDidLoad];
NSArray * array = [[NIMSDK sharedSDK].userManager myFriends];
if (array.count > 0) {
NSMutableArray * uids = [NSMutableArray array];
for (int i = 0; i< array.count; i++) {
NIMUser * user = [array objectAtIndex:i];
[uids addObject:user.userId];
}
[self.presenter getUserListInfo:uids];
}
[self initSubViews];
[self initSubViewConstraints];
}

View File

@@ -125,6 +125,8 @@
@property (nonatomic,strong) XPRoomPKProgressView *roompkPanelView;
///pk
@property (nonatomic,strong) RoomPKDetailInfoModel *pkDetailInfo;
///
@property (nonatomic,assign) BOOL isLoadGreet;
@end
@implementation XPRoomFunctionContainerView
@@ -316,7 +318,8 @@
#pragma mark -
- (void)handleNewUserGreet {
if (self.delegate.getUserInfo.fromType == UserEnterRoomFromType_New_User_Greet) {
if (self.delegate.getUserInfo.fromType == UserEnterRoomFromType_New_User_Greet && !self.isLoadGreet) {
self.isLoadGreet = YES;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSString * roomUid = [NSString stringWithFormat:@"%ld", self.delegate.getRoomInfo.uid];
[Api newUserStartGreet:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {

View File

@@ -106,10 +106,16 @@
}
- (void)checkButtonAction:(UIButton *)sender {
[self closeButtonAction:sender];
[UIView animateWithDuration:.35 animations:^{
CGRect frame = self.frame;
frame.origin.x = -KScreenWidth;
self.frame= frame;
} completion:^(BOOL finished) {
[self removeFromSuperview];
if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomNewUserGreetView:didClickCheckout:)]) {
[self.delegate xPRoomNewUserGreetView:self didClickCheckout:sender];
}
}];
}
#pragma mark - Getters And Setters

View File

@@ -142,7 +142,8 @@ NSString * const kUserFirstLoginKey = @"kUserFirstLoginKey";
}
- (void)getNewUserGreetInfoSucces:(NewUserGreetModel *)greetInfo {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:kUserFirstLoginKey];
NSString * key = [NSString stringWithFormat:@"%@_%@", kUserFirstLoginKey, [AccountInfoStorage instance].getUid];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:key];
if (greetInfo.sayHello) {
XPNewUserGreetRoomAlertView * alertView = [[XPNewUserGreetRoomAlertView alloc] init];
alertView.greetInfo = greetInfo;
@@ -336,8 +337,8 @@ NSString * const kUserFirstLoginKey = @"kUserFirstLoginKey";
#pragma mark -
- (void)initQuickEnterRoom {
BOOL isNotFirstLogin = [[NSUserDefaults standardUserDefaults] boolForKey:kUserFirstLoginKey];
isNotFirstLogin = NO;
NSString * key = [NSString stringWithFormat:@"%@_%@", kUserFirstLoginKey, [AccountInfoStorage instance].getUid];
BOOL isNotFirstLogin = [[NSUserDefaults standardUserDefaults] boolForKey:key];
if (isNotFirstLogin) {
[self.presenter getShortCutRecommendRoom];
} else {