| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- //
- // TConversationCell.m
- // UIKit
- //
- // Created by kennethmiao on 2018/9/14.
- // Copyright © 2018年 kennethmiao. All rights reserved.
- //
- #import "TConversationCell.h"
- #import "THeader.h"
- #import "YBCenterVC.h"
- @implementation TConversationCellData
- // 更新信息
- -(void)updateUserInfo:(NSDictionary *)userInfo;{
- _userName = strFormat([userInfo valueForKey:@"user_nickname"]);
- _userHeader = strFormat([userInfo valueForKey:@"avatar"]);
- _isAtt = strFormat([userInfo valueForKey:@"isattent"]);
- _isVIP = strFormat([[userInfo valueForKey:@"vipinfo"] valueForKey:@"isvip"]);
- // admin重置时间和最后一条消息
- if ([_convId isEqual:@"dsp_admin_1"] || [_convId isEqual:@"dsp_admin_2"]) {
- _time = strFormat([userInfo valueForKey:@"last_time"]);
- _subTitle = strFormat([userInfo valueForKey:@"last_msg"]);
- }
-
- }
- @end
- @interface TConversationCell ()
- @property (nonatomic, strong) TConversationCellData *data;
- @end
- @implementation TConversationCell
- - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
- {
- self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
- self.selectionStyle = UITableViewCellSelectionStyleNone;
- if(self){
- [self setupViews];
- [self defaultLayout];
- }
- return self;
- }
- + (CGSize)getSize;
- {
- return CGSizeMake(Screen_Width, TConversationCell_Height);
- }
- - (void)setData:(TConversationCellData *)data
- {
- _data = data;
- if (![PublicObj checkNull:_data.userHeader]) {
- [_headImageView sd_setImageWithURL:[NSURL URLWithString:_data.userHeader]];
- }else{
- _headImageView.image = [UIImage imageNamed:_data.head];
- }
- if ([_data.isVIP isEqual:@"1"]) {
- _vipImageView.hidden = NO;
- }else{
- _vipImageView.hidden = YES;
- }
- _vipImageView.hidden = YES;
-
- if ([_data.convId containsString:@"dsp_admin_1"] && _isSmall == NO) {
- _officeFlagIV.hidden = NO;
- // _headImageView.image = [UIImage imageNamed:_data.head];
- NSString *savaData = [[NSUserDefaults standardUserDefaults]objectForKey:@"sys_time_1"];
- if(savaData){
- int isNew = [PublicObj compareDate:savaData withDate:_data.time];
- NSLog(@"isnew--------:%d",isNew);
- if(isNew == 1){
- [_unReadView setNum:9999999];
- }else{
- [_unReadView setNum:_data.unRead];
- }
- }else{
- [_unReadView setNum:9999999];
- }
- }else if ([_data.convId containsString:@"dsp_admin_2"] && _isSmall == NO) {
- _officeFlagIV.hidden = NO;
- NSString *savaData = [[NSUserDefaults standardUserDefaults]objectForKey:@"sys_time_2"];
- if(savaData){
- int isNew = [PublicObj compareDate:savaData withDate:_data.time];
- NSLog(@"isnew--------:%d",isNew);
- if(isNew == 1){
- [_unReadView setNum:9999999];
- }else{
- [_unReadView setNum:_data.unRead];
- }
- }else{
- [_unReadView setNum:9999999];
- }
- }else{
- _officeFlagIV.hidden = YES;
- [_unReadView setNum:_data.unRead];
- }
-
- _timeLabel.text = _data.time;
- //_titleLabel.text = _data.title;
- _titleLabel.text = _data.userName;
- _subTitleLabel.text = _data.subTitle;
-
- [self defaultLayout];
- }
- - (void)setupViews
- {
- self.backgroundColor = UIColor.whiteColor;
-
- _headImageView = [[UIImageView alloc] init];
- _headImageView.layer.masksToBounds = YES;
- _headImageView.layer.cornerRadius = 25;
- [self addSubview:_headImageView];
- UIButton *shadowBtn = [UIButton buttonWithType:UIButtonTypeCustom];
- [shadowBtn addTarget:self action:@selector(clickIconBtn) forControlEvents:UIControlEventTouchUpInside];
- [self addSubview:shadowBtn];
- [shadowBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- make.width.height.centerX.centerY.equalTo(_headImageView);
- }];
-
- _officeFlagIV = [[UIImageView alloc]init];
- _officeFlagIV.image = [UIImage imageNamed:getImagename(@"msg_gov")];
- [self addSubview:_officeFlagIV];
- _officeFlagIV.hidden = YES;
- [_officeFlagIV mas_makeConstraints:^(MASConstraintMaker *make) {
- make.width.mas_equalTo(26);
- make.height.mas_equalTo(13);
- make.top.equalTo(_headImageView.mas_bottom).offset(-8);
- make.right.equalTo(_headImageView);
- }];
-
- _chatSmallBtn = [[UILabel alloc]init];
- _chatSmallBtn.text =YZMsg(@"私聊");
- _chatSmallBtn.font = [UIFont systemFontOfSize:14];
- _chatSmallBtn.textColor = UIColor.whiteColor;
- _chatSmallBtn.backgroundColor = Pink_Cor;
- _chatSmallBtn.layer.cornerRadius = 12;
- _chatSmallBtn.layer.masksToBounds = YES;
- _chatSmallBtn.textAlignment = NSTextAlignmentCenter;
- [self.contentView addSubview:_chatSmallBtn];
- _chatSmallBtn.hidden = YES;
- [_chatSmallBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- make.height.mas_equalTo(24);
- make.width.mas_equalTo(40);
- make.centerY.equalTo(_headImageView);
- make.right.equalTo(self.mas_right).offset(-10);
- }];
- // _chatSmallBtn = [UIButton buttonWithType:UIButtonTypeCustom];
- // [_chatSmallBtn setTitle:YZMsg(@"私聊") forState:0];
- // _chatSmallBtn.titleLabel.font = SYS_Font(15);
- // _chatSmallBtn.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 10);
- // [_chatSmallBtn setTitleColor:UIColor.whiteColor forState:0];
- // _chatSmallBtn.backgroundColor = Pink_Cor;
- // _chatSmallBtn.layer.cornerRadius = 12;
- // _chatSmallBtn.layer.masksToBounds = YES;
- // [self.contentView addSubview:_chatSmallBtn];
- // _chatSmallBtn.hidden = YES;
- // [_chatSmallBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- // make.height.mas_equalTo(24);
- // make.centerY.equalTo(_headImageView);
- // make.right.equalTo(self.mas_right).offset(-10);
- // }];
-
- _timeLabel = [[UILabel alloc] init];
- _timeLabel.font = [UIFont systemFontOfSize:12];
- _timeLabel.textColor = RGB_COLOR(@"#969696", 1);
- _timeLabel.layer.masksToBounds = YES;
- [self addSubview:_timeLabel];
- _titleLabel = [[UILabel alloc] init];
- _titleLabel.font = [UIFont systemFontOfSize:16];
- _titleLabel.textColor = [UIColor blackColor];
- _titleLabel.layer.masksToBounds = YES;
- [self addSubview:_titleLabel];
-
-
- _vipImageView = [[UIImageView alloc] init];
- _vipImageView.image = [UIImage imageNamed:@"vip"];
- [self addSubview:_vipImageView];
- _unReadView = [[TUnReadView alloc] init];
- [self addSubview:_unReadView];
- _subTitleLabel = [[UILabel alloc] init];
- _subTitleLabel.layer.masksToBounds = YES;
- _subTitleLabel.font = [UIFont systemFontOfSize:14];
- _subTitleLabel.textColor = RGB_COLOR(@"#969696", 1);;
- [self addSubview:_subTitleLabel];
- _rightImageView = [[UIImageView alloc] init];
- _rightImageView.image = [UIImage imageNamed:@"right_arrow"];
- [self addSubview:_rightImageView];
- UIView *lineV = [PublicObj lineViewWithFrame:CGRectMake(0, TConversationCell_Height-1, _window_width, 1) andColor:RGB_COLOR(@"#f5f5f5", 1) andView:self];
- lineV.hidden = YES;
- [self setSeparatorInset:UIEdgeInsetsMake(0, TConversationCell_Margin, 0, 0)];
- }
- -(void)clickIconBtn {
- if (_isSmall) {
- return;
- }
- if ([_data.convId isEqual:@"dsp_admin_1"]||[_data.convId isEqual:@"dsp_admin_2"]) {
- return;
- }
- YBCenterVC *center = [[YBCenterVC alloc]init];
- center.otherUid = _data.convId;
- center.isPush = YES;
- center.hidesBottomBarWhenPushed = YES;
- [[YBBaseAppDelegate sharedAppDelegate] pushViewController:center animated:YES];
- }
- - (void)defaultLayout
- {
- CGSize size = [TConversationCell getSize];
- _headImageView.frame = CGRectMake(TConversationCell_Margin, TConversationCell_Margin, size.height - TConversationCell_Margin * 2, size.height - TConversationCell_Margin * 2);
- if ([_data.title isEqual:YZMsg(@"预约")]) {
- _rightImageView.frame = CGRectMake(size.width-25, 25, 20, 20);
- }else{
- _rightImageView.frame = CGRectZero;
- }
- [_timeLabel sizeToFit];
- _timeLabel.frame = CGRectMake(size.width - TConversationCell_Margin - _timeLabel.frame.size.width, TConversationCell_Margin_Text, _timeLabel.frame.size.width, _timeLabel.frame.size.height);
- [_titleLabel sizeToFit];
- _titleLabel.frame = CGRectMake(_headImageView.frame.origin.x + _headImageView.frame.size.width + TConversationCell_Margin, TConversationCell_Margin_Text, size.width - _timeLabel.frame.size.width - _headImageView.frame.size.width - 4 * TConversationCell_Margin, _titleLabel.frame.size.height);
- if (_data.nameShouldCenter) {
- float topsss = size.height - _titleLabel.frame.size.height;
- _titleLabel.frame = CGRectMake(_headImageView.frame.origin.x + _headImageView.frame.size.width + TConversationCell_Margin, topsss/2, size.width - _timeLabel.frame.size.width - _headImageView.frame.size.width - 4 * TConversationCell_Margin, _titleLabel.frame.size.height);
- }
- CGFloat wwwwwww = [PublicObj widthOfString:_data.userName andFont:SYS_Font(16) andHeight:20];
- _vipImageView.frame = CGRectMake(_titleLabel.x + wwwwwww + 3, TConversationCell_Margin_Text + 2, 25, 15);
- _unReadView.frame = CGRectMake(size.width - TConversationCell_Margin - _unReadView.frame.size.width, size.height - TConversationCell_Margin_Text - _unReadView.frame.size.height, _unReadView.frame.size.width, _unReadView.frame.size.height);
-
- [_subTitleLabel sizeToFit];
- _subTitleLabel.frame = CGRectMake(_titleLabel.frame.origin.x, size.height - TConversationCell_Margin_Text - _subTitleLabel.frame.size.height, size.width - _headImageView.frame.size.width - 4 * TConversationCell_Margin - _unReadView.frame.size.width, _subTitleLabel.frame.size.height);
- }
- #pragma mark -
- // 私信小窗改变UI
- -(void)imsmallViewResetUI;{
- _isSmall = YES;
- self.backgroundColor = UIColor.whiteColor;
- _titleLabel.textColor = RGB_COLOR(@"#323232", 1);
- }
- -(void)checkImRecordWithHostid:(NSString *)liveuid;{
- if ([PublicObj checkNull:_data.subTitle] && [_data.convId isEqual:liveuid]) {
- _subTitleLabel.text = YZMsg(@"Hi~我是主播,快来和我聊天吧。");
- [_subTitleLabel sizeToFit];
- CGSize size = [TConversationCell getSize];
- _subTitleLabel.frame = CGRectMake(_titleLabel.frame.origin.x, size.height - TConversationCell_Margin_Text - _subTitleLabel.frame.size.height, size.width - _headImageView.frame.size.width - 4 * TConversationCell_Margin - 60, _subTitleLabel.frame.size.height);
- _chatSmallBtn.hidden = NO;
- _timeLabel.hidden = YES;
- }else{
- _chatSmallBtn.hidden = YES;
- _timeLabel.hidden = NO;
- }
- }
- @end
|