YOUPAIHRLiveRankDetailCell.m 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. //
  2. // YOUPAIHRLiveRankDetailCell.m
  3. // VQU
  4. //
  5. // Created by xiaohaoran on 2021/10/19.
  6. // Copyright © 2021 MS. All rights reserved.
  7. //
  8. #import "YOUPAIHRLiveRankDetailCell.h"
  9. #import "RippleAnimationView.h"
  10. #import "YOUPAILZAvatarView.h"
  11. #import "YOUPAILZLevelView.h"
  12. #import "YOUPAILCIMSessionVC.h"
  13. @interface YOUPAIHRLiveRankDetailCell()
  14. @property(nonatomic,strong)YOUPAILZAvatarView* youpaipavatarImgV;
  15. @property(nonatomic,strong)UIImageView * youpaipanchorTagImgV;
  16. @property(nonatomic,strong)UILabel * youpaipnicknameL;
  17. @property(nonatomic,strong)UIImageView *youpaipvipV;
  18. @property(nonatomic,strong)UIImageView *youpaipbadgeImgV;
  19. @property(nonatomic,strong)YOUPAILZLevelView *youpaiplevelView;
  20. @property(nonatomic,strong)UILabel *youpaipzuanshiCountLabel;
  21. @property(nonatomic,strong)UILabel *youpaiplianmaiLabel;
  22. @property(nonatomic,strong)UIButton *youpaipfollowBtn;
  23. @end
  24. @implementation YOUPAIHRLiveRankDetailCell
  25. -(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
  26. if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
  27. [self youpaifsetSubView];
  28. }
  29. return self;
  30. }
  31. -(void)youpaifsetSubView{
  32. //头像
  33. YOUPAILZAvatarView *avatarImgV = [YOUPAILZAvatarView youpaifavatarViewWithFrame:CGRectMake(0.0f, 0.0f, 40, 40) avatarURL:nil personalityBoxURL:nil];
  34. [self.contentView addSubview:avatarImgV];
  35. self.youpaipavatarImgV = avatarImgV;
  36. [avatarImgV mas_makeConstraints:^(MASConstraintMaker *make) {
  37. make.left.offset(14.0f);
  38. make.centerY.mas_equalTo(0);
  39. make.size.offset(40);
  40. }];
  41. //V
  42. avatarImgV.userInteractionEnabled = YES;
  43. UIImageView *anchorTagImgV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"vqu_images_anchor_vlog"]];
  44. anchorTagImgV.hidden = YES;
  45. [self.contentView addSubview:anchorTagImgV];
  46. self.youpaipanchorTagImgV = anchorTagImgV;
  47. [anchorTagImgV mas_makeConstraints:^(MASConstraintMaker *make) {
  48. make.right.equalTo(self.youpaipavatarImgV.youpaipavatarImgV.mas_right).offset(0.0f);
  49. make.bottom.equalTo(self.youpaipavatarImgV.youpaipavatarImgV.mas_bottom).offset(0.0f);
  50. make.size.mas_offset(CGSizeMake(10.0f, 10.0f));
  51. }];
  52. //昵称
  53. UILabel *nicknameL = [[UILabel alloc] init];
  54. nicknameL.font = LCBoldFont(14);
  55. nicknameL.textColor = LZ273145Color;
  56. [self.contentView addSubview:nicknameL];
  57. self.youpaipnicknameL = nicknameL;
  58. [nicknameL mas_makeConstraints:^(MASConstraintMaker *make) {
  59. make.left.equalTo(avatarImgV.mas_right).offset(10.0f);
  60. make.top.offset(10.0f);
  61. make.height.offset(24.5f);
  62. }];
  63. //Vip
  64. UIImageView *vipV = [[UIImageView alloc] init];
  65. [self addSubview:vipV];
  66. self.youpaipvipV = vipV;
  67. vipV.hidden = YES;
  68. [vipV mas_makeConstraints:^(MASConstraintMaker *make) {
  69. make.left.equalTo(nicknameL.mas_right).offset(3.0f);
  70. make.centerY.equalTo(nicknameL);
  71. }];
  72. UIImageView *badgeImgV = [[UIImageView alloc] init];
  73. [self addSubview:badgeImgV];
  74. self.youpaipbadgeImgV = badgeImgV;
  75. badgeImgV.hidden = YES;
  76. [badgeImgV mas_makeConstraints:^(MASConstraintMaker *make) {
  77. make.left.equalTo(nicknameL.mas_right).offset(3.0f);
  78. make.centerY.equalTo(nicknameL);
  79. }];
  80. YOUPAILZLevelView *levelView = [[YOUPAILZLevelView alloc] init];
  81. [self addSubview:levelView];
  82. self.youpaiplevelView = levelView;
  83. levelView.hidden = YES;
  84. [levelView mas_makeConstraints:^(MASConstraintMaker *make) {
  85. make.left.equalTo(nicknameL.mas_right).offset(3.0f);
  86. make.centerY.equalTo(nicknameL);
  87. }];
  88. //钻石图标
  89. UIImageView *zuanShiImageView = [UIImageView new];
  90. [self.contentView addSubview:zuanShiImageView];
  91. [zuanShiImageView mas_makeConstraints:^(MASConstraintMaker *make) {
  92. make.left.mas_equalTo(nicknameL);
  93. make.top.mas_equalTo(nicknameL.mas_bottom).offset(3);
  94. make.size.mas_equalTo(CGSizeMake(10, 10));
  95. }];
  96. zuanShiImageView.image = [UIImage imageNamed:@"vqu_images_D_mine_Money_Icon"];
  97. //钻石数量
  98. UILabel *zuanshiCountLabel = [UILabel new];
  99. self.youpaipzuanshiCountLabel = zuanshiCountLabel;
  100. [self.contentView addSubview:zuanshiCountLabel];
  101. [zuanshiCountLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  102. make.left.mas_equalTo(zuanShiImageView.mas_right).offset(2);
  103. make.centerY.mas_equalTo(zuanShiImageView);
  104. }];
  105. zuanshiCountLabel.font = [UIFont systemFontOfSize:10];
  106. zuanshiCountLabel.textColor = LZA3AABEColor;
  107. //连麦次数展示
  108. UILabel *lianmaiLabel = [UILabel new];
  109. self.youpaiplianmaiLabel = lianmaiLabel;
  110. [self.contentView addSubview:lianmaiLabel];
  111. [lianmaiLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  112. make.left.mas_equalTo(nicknameL);
  113. make.top.mas_equalTo(zuanshiCountLabel.mas_bottom).offset(5);
  114. }];
  115. lianmaiLabel.text = @"共3次连麦(最后连麦2021-07-23)";
  116. lianmaiLabel.font = [UIFont systemFontOfSize:10];
  117. lianmaiLabel.textColor = HexColorFromRGBA(0xFFFFFF,0.6);
  118. //私信
  119. YOUPAIGradualButton *chatBtn = [YOUPAIGradualButton new];
  120. [self.contentView addSubview:chatBtn];
  121. [chatBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  122. make.right.mas_equalTo(-14);
  123. make.centerY.mas_equalTo(0);
  124. make.size.mas_equalTo(CGSizeMake(60, 29));
  125. }];
  126. [chatBtn setTitle:@"私信" forState:UIControlStateNormal];
  127. chatBtn.titleLabel.font = [UIFont systemFontOfSize:12];
  128. //关注
  129. UIButton *followBtn = [UIButton new];
  130. self.youpaipfollowBtn = followBtn;
  131. [self.contentView addSubview:followBtn];
  132. [followBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  133. make.right.mas_equalTo(chatBtn.mas_left).offset(-5);
  134. make.centerY.mas_equalTo(0);
  135. make.size.mas_equalTo(CGSizeMake(60, 29));
  136. }];
  137. followBtn.layer.borderWidth = 1;
  138. followBtn.layer.cornerRadius = 14;
  139. followBtn.layer.masksToBounds = YES;
  140. followBtn.layer.borderColor = HexColorFromRGB(0xF4003F).CGColor;
  141. [followBtn setTitle:@"关注" forState:UIControlStateNormal];
  142. followBtn.titleLabel.font = [UIFont systemFontOfSize:12];
  143. [followBtn setTitleColor:HexColorFromRGB(0xF4003F) forState:UIControlStateNormal];
  144. //分割线
  145. UIView *lineView = [UIView new];
  146. [self.contentView addSubview:lineView];
  147. [lineView mas_makeConstraints:^(MASConstraintMaker *make) {
  148. make.left.mas_equalTo(12);
  149. make.bottom.mas_equalTo(0);
  150. make.right.mas_equalTo(-12);
  151. make.height.mas_equalTo(0.5);
  152. }];
  153. lineView.backgroundColor = LZF5F4F7Color;
  154. //事件
  155. [chatBtn addTarget:self action:@selector(youpaifchatBtnClick) forControlEvents:UIControlEventTouchUpInside];
  156. [followBtn addTarget:self action:@selector(youpaiffollowBtnClick:) forControlEvents:UIControlEventTouchUpInside];
  157. }
  158. -(void)youpaifchatBtnClick{
  159. NIMSession *session = [NIMSession session:self.youpaipuserModel.youpaipid type:NIMSessionTypeP2P];
  160. if (session) {
  161. [ZCHUDHelper show];
  162. [[[NIMSDK sharedSDK] userManager] fetchUserInfos:@[session.sessionId] completion:^(NSArray<NIMUser *> * _Nullable users, NSError * _Nullable error) {
  163. [ZCHUDHelper dismiss];
  164. YOUPAILCIMSessionVC *vc = [[YOUPAILCIMSessionVC alloc] initWithSession:session];
  165. [[LCTools getCurrentVC].navigationController pushViewController:vc animated:YES];
  166. }];
  167. }
  168. }
  169. -(void)youpaiffollowBtnClick:(UIButton*)sender{
  170. if (self.youpaipuserModel.youpaipis_follow==1) {
  171. [LCCommonHttp followUserId:self.youpaipuserModel.youpaipid];
  172. self.youpaipuserModel.youpaipis_follow = 0;
  173. }else{
  174. [LCCommonHttp followUserId:self.youpaipuserModel.youpaipid];
  175. self.youpaipuserModel.youpaipis_follow = 1;
  176. }
  177. [self youpaifupdateBtnStatu];
  178. }
  179. -(void)youpaifupdateBtnStatu{
  180. if (self.youpaipuserModel.youpaipis_follow == 1) {
  181. self.youpaipfollowBtn.layer.borderWidth = 1;
  182. self.youpaipfollowBtn.layer.cornerRadius = 15;
  183. self.youpaipfollowBtn.layer.masksToBounds = YES;
  184. self.youpaipfollowBtn.layer.borderColor = LZD3D1D7Color.CGColor;
  185. [self.youpaipfollowBtn setTitle:@"已关注" forState:UIControlStateNormal];
  186. self.youpaipfollowBtn.titleLabel.font = [UIFont systemFontOfSize:12];
  187. [self.youpaipfollowBtn setTitleColor:UIColor.whiteColor forState:UIControlStateNormal];
  188. self.youpaipfollowBtn.backgroundColor = LZD3D1D7Color;
  189. }else{
  190. self.youpaipfollowBtn.layer.borderWidth = 1;
  191. self.youpaipfollowBtn.layer.cornerRadius = 15;
  192. self.youpaipfollowBtn.layer.masksToBounds = YES;
  193. self.youpaipfollowBtn.layer.borderColor = LZ7C69FEColor.CGColor;
  194. [self.youpaipfollowBtn setTitle:@"关注" forState:UIControlStateNormal];
  195. self.youpaipfollowBtn.titleLabel.font = [UIFont systemFontOfSize:12];
  196. [self.youpaipfollowBtn setTitleColor:LZ7C69FEColor forState:UIControlStateNormal];
  197. self.youpaipfollowBtn.backgroundColor = UIColor.clearColor;
  198. }
  199. }
  200. -(void)setYoupaipuserModel:(YOUPAIHRsendRankModel *)userModel{
  201. _youpaipuserModel = userModel;
  202. self.youpaipavatarImgV.youpaipavatarURL = [LCTools getImageUrlWithAddress:userModel.youpaipavatar];
  203. self.youpaipavatarImgV.youpaippersonalityBoxURL = [LCTools getImageUrlWithAddress:userModel.youpaipavatar_frame];
  204. // [self.avatarImgV sd_setImageWithURL:[LCTools getImageUrlWithAddress:userModel.userinfo.avatar]];
  205. self.youpaipzuanshiCountLabel.text = userModel.youpaipamount;
  206. self.youpaiplianmaiLabel.text = userModel.youpaipmsg;
  207. self.youpaipnicknameL.text = userModel.youpaipnickname;
  208. self.youpaipvipV.hidden = YES;
  209. self.youpaipbadgeImgV.hidden = YES;
  210. self.youpaiplevelView.hidden = YES;
  211. // 1关注 0未关注 -1自己
  212. [self youpaifupdateBtnStatu];
  213. CGFloat width = 0;
  214. if (userModel.youpaipnickname.length>5) {
  215. NSString *str = [userModel.youpaipnickname substringToIndex:5];
  216. width = [LCTools widthWithString:str withFont:LCBoldFont(14)]+5;
  217. }else{
  218. width = [LCTools widthWithString:userModel.youpaipnickname withFont:LCBoldFont(14)]+5;
  219. }
  220. [self.youpaipnicknameL mas_remakeConstraints:^(MASConstraintMaker *make) {
  221. make.left.equalTo(self.youpaipavatarImgV.mas_right).offset(10.0f);
  222. make.top.offset(10.0f);
  223. make.height.offset(24.5f);
  224. make.width.mas_equalTo(width);
  225. }];
  226. UIView *frontV;
  227. self.youpaiplevelView.hidden = NO;
  228. [self.youpaiplevelView youpaifreloadWithIcon:userModel.youpaipgrade.youpaipimg1 iconWidth:userModel.youpaipgrade.youpaipicon_width bgImg:userModel.youpaipgrade.youpaipimg2 bgImgWidth:userModel.youpaipgrade.youpaipicon1_width levelName:userModel.youpaipgrade.youpaipgrade_name level:userModel.youpaipgrade.youpaipgrade];
  229. [self.youpaiplevelView mas_remakeConstraints:^(MASConstraintMaker *make) {
  230. if (frontV == nil) {
  231. make.left.equalTo(self.youpaipnicknameL.mas_right).offset(3.0f);
  232. }else{
  233. make.left.equalTo(frontV.mas_right).offset(3.0f);
  234. }
  235. make.centerY.equalTo(self.youpaipnicknameL);
  236. make.size.mas_offset(self.youpaiplevelView.mj_size);
  237. }];
  238. frontV = self.youpaiplevelView;
  239. if (self.youpaipuserModel.youpaipvip_icon.length != 0) {
  240. self.youpaipvipV.hidden = NO;
  241. [self.youpaipvipV sd_setImageWithURL:[LCTools getImageUrlWithAddress:self.youpaipuserModel.youpaipvip_icon]];
  242. [self.youpaipvipV mas_remakeConstraints:^(MASConstraintMaker *make) {
  243. if (frontV == nil) {
  244. make.left.equalTo(self.youpaipnicknameL.mas_right).offset(3.0f);
  245. }else{
  246. make.left.equalTo(frontV.mas_right).offset(3.0f);
  247. }
  248. make.centerY.equalTo(self.youpaipnicknameL);
  249. make.size.mas_offset(CGSizeMake(30.0f, 19.0f));
  250. }];
  251. frontV = self.youpaipvipV;
  252. }
  253. if (self.youpaipuserModel.youpaiprankInfo.youpaipimg.length != 0) {
  254. self.youpaipbadgeImgV.hidden = NO;
  255. [self.youpaipbadgeImgV sd_setImageWithURL:[LCTools getImageUrlWithAddress:self.youpaipuserModel.youpaiprankInfo.youpaipimg]];
  256. [self.youpaipbadgeImgV mas_remakeConstraints:^(MASConstraintMaker *make) {
  257. if (frontV == nil) {
  258. make.left.equalTo(self.youpaipnicknameL.mas_right).offset(3.0f);
  259. }else{
  260. make.left.equalTo(frontV.mas_right).offset(3.0f);
  261. }
  262. make.centerY.equalTo(self.youpaipnicknameL);
  263. make.size.mas_offset(CGSizeMake(20, 17.0f));
  264. }];
  265. }
  266. }
  267. @end