未读消息不回更新
This commit is contained in:
@@ -56,6 +56,7 @@
|
|||||||
make.left.mas_equalTo(self.avaterImgView.mas_right).mas_offset(8);
|
make.left.mas_equalTo(self.avaterImgView.mas_right).mas_offset(8);
|
||||||
make.bottom.mas_equalTo(self.avaterImgView.mas_centerY).mas_offset(-4);
|
make.bottom.mas_equalTo(self.avaterImgView.mas_centerY).mas_offset(-4);
|
||||||
make.height.mas_equalTo(14);
|
make.height.mas_equalTo(14);
|
||||||
|
make.right.mas_lessThanOrEqualTo(self.timeLabel.mas_left).offset(-15);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
[self.memberIdLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.memberIdLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
@@ -77,7 +77,11 @@
|
|||||||
make.right.mas_lessThanOrEqualTo(self.findButton.mas_left).mas_offset(-4);
|
make.right.mas_lessThanOrEqualTo(self.findButton.mas_left).mas_offset(-4);
|
||||||
make.bottom.mas_equalTo(self.avatarImageView.mas_centerY).offset(-2);
|
make.bottom.mas_equalTo(self.avatarImageView.mas_centerY).offset(-2);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
[self.sexImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.size.mas_equalTo(CGSizeMake(20, 20));
|
||||||
|
}];
|
||||||
|
|
||||||
[self.signLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.signLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.left.mas_equalTo(self.stackView);
|
make.left.mas_equalTo(self.stackView);
|
||||||
make.top.mas_equalTo(self.avatarImageView.mas_centerY).offset(2);
|
make.top.mas_equalTo(self.avatarImageView.mas_centerY).offset(2);
|
||||||
|
@@ -84,6 +84,10 @@
|
|||||||
make.top.mas_equalTo(self.avatarImageView.mas_centerY).offset(2);
|
make.top.mas_equalTo(self.avatarImageView.mas_centerY).offset(2);
|
||||||
make.right.mas_equalTo(self.attentionButton.mas_left).mas_offset(-4);
|
make.right.mas_equalTo(self.attentionButton.mas_left).mas_offset(-4);
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
[self.sexImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.size.mas_equalTo(CGSizeMake(20, 20));
|
||||||
|
}];
|
||||||
|
|
||||||
[self.attentionButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
[self.attentionButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||||
make.width.mas_equalTo(65);
|
make.width.mas_equalTo(65);
|
||||||
|
@@ -33,6 +33,8 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property (nonatomic,assign) BOOL isShowAvatar;
|
@property (nonatomic,assign) BOOL isShowAvatar;
|
||||||
///头像地址
|
///头像地址
|
||||||
@property (nonatomic,strong) NSString *avatarUrl;
|
@property (nonatomic,strong) NSString *avatarUrl;
|
||||||
|
///用户的uid
|
||||||
|
@property (nonatomic,strong) NSString *uid;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_END
|
NS_ASSUME_NONNULL_END
|
||||||
|
@@ -133,6 +133,7 @@
|
|||||||
- (XPMessageInfoModel*)makeChatAttribute:(NIMMessage *)message messageInfo:(XPMessageInfoModel *)messageInfo{
|
- (XPMessageInfoModel*)makeChatAttribute:(NIMMessage *)message messageInfo:(XPMessageInfoModel *)messageInfo{
|
||||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||||
messageInfo.isShowAvatar = YES;
|
messageInfo.isShowAvatar = YES;
|
||||||
|
messageInfo.uid = message.from;
|
||||||
NIMUser * user = [[NIMSDK sharedSDK].userManager userInfo:message.from];
|
NIMUser * user = [[NIMSDK sharedSDK].userManager userInfo:message.from];
|
||||||
if (user) {
|
if (user) {
|
||||||
messageInfo.avatarUrl = user.userInfo.avatarUrl.length > 0 ? user.userInfo.avatarUrl : user.userInfo.thumbAvatarUrl;
|
messageInfo.avatarUrl = user.userInfo.avatarUrl.length > 0 ? user.userInfo.avatarUrl : user.userInfo.thumbAvatarUrl;
|
||||||
|
@@ -11,8 +11,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@class XPRoomMessageParser, YYLabel, XPRoomMessageAvatarTableViewCell, XPMessageInfoModel;
|
@class XPRoomMessageParser, YYLabel, XPRoomMessageAvatarTableViewCell, XPMessageInfoModel;
|
||||||
@protocol XPRoomMessageAvatarTableViewCellDelegate <NSObject>
|
@protocol XPRoomMessageAvatarTableViewCellDelegate <NSObject>
|
||||||
|
|
||||||
- (void)xPRoomMessageTableViewCellDidTapEmpty:(XPRoomMessageAvatarTableViewCell *)view;
|
- (void)xPRoomMessageAvatarTableViewCellDelegateDidTapEmpty:(XPRoomMessageAvatarTableViewCell *)view;
|
||||||
|
///选择了用户头像
|
||||||
|
- (void)xPRoomMessageAvatarTableViewCellDelegate:(XPRoomMessageAvatarTableViewCell *)view didTapAvatar:(NSString *)uid;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface XPRoomMessageAvatarTableViewCell : UITableViewCell
|
@interface XPRoomMessageAvatarTableViewCell : UITableViewCell
|
||||||
|
@@ -77,11 +77,18 @@
|
|||||||
|
|
||||||
#pragma mark - Event Response
|
#pragma mark - Event Response
|
||||||
- (void)didTap {
|
- (void)didTap {
|
||||||
if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomMessageTableViewCellDidTapEmpty:)]) {
|
if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomMessageAvatarTableViewCellDelegateDidTapEmpty:)]) {
|
||||||
[self.delegate xPRoomMessageTableViewCellDidTapEmpty:self];
|
[self.delegate xPRoomMessageAvatarTableViewCellDelegateDidTapEmpty:self];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)tapAvatarRecognizer {
|
||||||
|
if (self.delegate && [self.delegate respondsToSelector:@selector(xPRoomMessageAvatarTableViewCellDelegate:didTapAvatar:)]) {
|
||||||
|
[self.delegate xPRoomMessageAvatarTableViewCellDelegate:self didTapAvatar:self.messageInfo.uid];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#pragma mark - Getters And Setters
|
#pragma mark - Getters And Setters
|
||||||
- (void)setMessageInfo:(XPMessageInfoModel *)messageInfo {
|
- (void)setMessageInfo:(XPMessageInfoModel *)messageInfo {
|
||||||
_messageInfo = messageInfo;
|
_messageInfo = messageInfo;
|
||||||
@@ -117,6 +124,9 @@
|
|||||||
_avatarImageView.layer.masksToBounds = YES;
|
_avatarImageView.layer.masksToBounds = YES;
|
||||||
_avatarImageView.layer.cornerRadius = 34/2;
|
_avatarImageView.layer.cornerRadius = 34/2;
|
||||||
_avatarImageView.layer.borderColor = [ThemeColor appMainColor].CGColor;
|
_avatarImageView.layer.borderColor = [ThemeColor appMainColor].CGColor;
|
||||||
|
_avatarImageView.userInteractionEnabled = YES;
|
||||||
|
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAvatarRecognizer)];
|
||||||
|
[_avatarImageView addGestureRecognizer:tap];
|
||||||
}
|
}
|
||||||
return _avatarImageView;
|
return _avatarImageView;
|
||||||
}
|
}
|
||||||
|
@@ -32,15 +32,17 @@
|
|||||||
#import "RoomSailingPrizeModel.h"
|
#import "RoomSailingPrizeModel.h"
|
||||||
#import "UserInfoModel.h"
|
#import "UserInfoModel.h"
|
||||||
#import "XPMessageInfoModel.h"
|
#import "XPMessageInfoModel.h"
|
||||||
|
#import "XPUserCardInfoModel.h"
|
||||||
///View
|
///View
|
||||||
#import "XPRoomMessageTableViewCell.h"
|
#import "XPRoomMessageTableViewCell.h"
|
||||||
#import "XPRoomMessageAvatarTableViewCell.h"
|
#import "XPRoomMessageAvatarTableViewCell.h"
|
||||||
#import "XPRoomMessageHeaderView.h"
|
#import "XPRoomMessageHeaderView.h"
|
||||||
#import "View/XPRoomMessageHeaderView.h"
|
#import "View/XPRoomMessageHeaderView.h"
|
||||||
|
#import "XPUserCardViewController.h"
|
||||||
|
|
||||||
NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
|
NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
|
||||||
|
|
||||||
@interface XPRoomMessageContainerView ()<UITableViewDelegate, UITableViewDataSource, XPRoomMessageTableViewCellDelegate, UIGestureRecognizerDelegate>
|
@interface XPRoomMessageContainerView ()<UITableViewDelegate, UITableViewDataSource, XPRoomMessageTableViewCellDelegate, XPRoomMessageAvatarTableViewCellDelegate, UIGestureRecognizerDelegate>
|
||||||
///房间的代理
|
///房间的代理
|
||||||
@property (nonatomic,weak) id<RoomHostDelegate> hostDelegate;
|
@property (nonatomic,weak) id<RoomHostDelegate> hostDelegate;
|
||||||
|
|
||||||
@@ -876,6 +878,43 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma mark - XPRoomMessageAvatarTableViewCell
|
||||||
|
- (void)xPRoomMessageAvatarTableViewCellDelegateDidTapEmpty:(XPRoomMessageAvatarTableViewCell *)view{
|
||||||
|
if (self.hostDelegate.getRoomInfo.type == RoomType_MiniGame) {
|
||||||
|
self.isLarge = !self.isLarge;
|
||||||
|
CGFloat height = self.isLarge ? 200 : 80;
|
||||||
|
[self mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||||
|
make.height.mas_equalTo(height);
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)xPRoomMessageAvatarTableViewCellDelegate:(XPRoomMessageAvatarTableViewCell *)view didTapAvatar:(NSString *)uid {
|
||||||
|
if (uid.length > 0) {
|
||||||
|
RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo;
|
||||||
|
NSString * targetUid = uid;
|
||||||
|
XPUserCardInfoModel * model = [[XPUserCardInfoModel alloc] init];
|
||||||
|
[[self.hostDelegate.getMicroQueue allValues] enumerateObjectsUsingBlock:^(MicroQueueModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
|
||||||
|
if (uid.integerValue == obj.userInfo.uid) {
|
||||||
|
model.position = [NSString stringWithFormat:@"%d", obj.microState.position];
|
||||||
|
model.posState = obj.microState.posState;
|
||||||
|
model.micState = obj.microState.micState;
|
||||||
|
*stop = YES;
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
model.nick = self.hostDelegate.getUserInfo.nick;
|
||||||
|
model.uid = targetUid;
|
||||||
|
model.micQueue = self.hostDelegate.getMicroQueue;
|
||||||
|
model.roomInfo = roomInfo;
|
||||||
|
model.delegate = self.hostDelegate;
|
||||||
|
model.superMangerList = self.hostDelegate.getRoomSuperAdminList;
|
||||||
|
XPUserCardViewController * userCardVC = [[XPUserCardViewController alloc] initWithUser:model];
|
||||||
|
[self.hostDelegate.getCurrentNav presentViewController:userCardVC animated:YES completion:nil];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#pragma mark - Getters And Setters
|
#pragma mark - Getters And Setters
|
||||||
- (UITableView *)messageTableView {
|
- (UITableView *)messageTableView {
|
||||||
if (!_messageTableView) {
|
if (!_messageTableView) {
|
||||||
|
@@ -722,7 +722,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
|
|||||||
if (unreadCount > 0) {
|
if (unreadCount > 0) {
|
||||||
[self.tabBar.items[3] setBadgeValue:[NSString stringWithFormat:@"%d", unreadCount]];
|
[self.tabBar.items[3] setBadgeValue:[NSString stringWithFormat:@"%d", unreadCount]];
|
||||||
} else {
|
} else {
|
||||||
[self.tabBar.items[3] setBadgeValue:@"0"];
|
[self.tabBar.items[3] setBadgeValue:nil];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user