SLeaderHeadView.m 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641
  1. //
  2. // SLeaderHeadView.m
  3. // BuguLive
  4. //
  5. // Created by 丁凯 on 2017/9/5.
  6. // Copyright © 2017年 xfg. All rights reserved.
  7. //
  8. #import "SLeaderHeadView.h"
  9. #import "UserModel.h"
  10. #import "BogoRankHeadGifView.h"
  11. @implementation SLeaderHeadView
  12. - (instancetype)initWithFrame:(CGRect)frame
  13. {
  14. self = [super initWithFrame:frame];
  15. if (self)
  16. {
  17. self.backgroundColor = kClearColor;
  18. [self creatMyUI];
  19. }
  20. return self;
  21. }
  22. - (void)creatMyUI
  23. {
  24. // UIImageView *bgImgView = [UIImageView new];
  25. // [bgImgView setImage:[UIImage imageNamed:@"mg_new_rankBgImgVIew"]];
  26. // bgImgView.frame = self.bounds;
  27. // [self addSubview:bgImgView];
  28. // //底部视图
  29. // self.bottomImgView = [[UIImageView alloc]initWithFrame:CGRectMake(0, self.height -108*kScaleHeight , self.width, 108*kScaleHeight)];
  30. // self.bottomImgView.image = [UIImage imageNamed:@"hm_bottom"];
  31. // self.bottomImgView.userInteractionEnabled = YES;
  32. // [self addSubview:self.bottomImgView];
  33. CGFloat headImgWidth = 60;
  34. #pragma mark - //------------------------------左边部分------------------------------
  35. //头像
  36. self.LHeadImgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.width/6 - headImgWidth/ 2 + 10, 15 + 25 + 20, headImgWidth, headImgWidth)];
  37. self.LHeadImgView.layer.cornerRadius = headImgWidth / 2;
  38. self.LHeadImgView.layer.masksToBounds = YES;
  39. self.LHeadImgView.userInteractionEnabled = YES;
  40. self.LHeadImgView.image = kDefaultPreloadHeadImg;
  41. [self addSubview:self.LHeadImgView];
  42. //等级头像
  43. self.LGoldImgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.width/6 - 134 /4,15 + 23 + 25, 94, 100)];
  44. self.LGoldImgView.image = [UIImage imageNamed:@"mg_new_rank_second"];
  45. self.LGoldImgView.userInteractionEnabled = YES;
  46. self.LGoldImgView.tag = 1;
  47. [self addSubview:self.LGoldImgView];
  48. self.LGoldImgView.centerX = self.LHeadImgView.centerX;
  49. self.LGoldImgView.centerY = self.LHeadImgView.centerY - 23 / 2 ;
  50. //手势
  51. UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tap:)];
  52. [self.LGoldImgView addGestureRecognizer:tap];
  53. //名字性别等级底部的view
  54. self.LNSRView = [[UIView alloc]initWithFrame:CGRectMake(self.width/6 - 40*kScaleWidth, CGRectGetMaxY(self.LGoldImgView.frame) + kRealValue(18), 80*kScaleWidth, 20*kScaleHeight)];
  55. self.LNSRView.backgroundColor = kClearColor;
  56. [self addSubview:self.LNSRView];
  57. //性别
  58. self.LSexImgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.LNSRView.width -26-13-5, (self.LNSRView.height-13)/2, 13, 13)];
  59. self.LSexImgView.hidden = YES;
  60. [self.LNSRView addSubview:self.LSexImgView];
  61. //昵称、印票、等级view
  62. _baseView = [[UIView alloc] initWithFrame:CGRectMake(self.width/6 - 40*kScaleWidth, CGRectGetMaxY(self.LGoldImgView.frame) + 25, 80*kScaleWidth + 30, 50)];
  63. // _baseView.layer.borderColor = UIColor.redColor.CGColor;
  64. // _baseView.layer.borderWidth = 1;
  65. [self addSubview:_baseView];
  66. //名字
  67. self.LNameLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, _baseView.width , 20*kScaleHeight)];
  68. self.LNameLabel.textColor = kWhiteColor;
  69. self.LNameLabel.font = [UIFont systemFontOfSize:13];
  70. self.LNameLabel.textAlignment = NSTextAlignmentCenter;
  71. [_baseView addSubview:self.LNameLabel];
  72. _ticketBaseView = [[UIView alloc] initWithFrame:CGRectMake(0, self.LNameLabel.bottom, 10, 20*kScaleHeight)];
  73. // _ticketBaseView.layer.borderColor = UIColor.redColor.CGColor;
  74. // _ticketBaseView.layer.borderWidth = 1;
  75. [_baseView addSubview:_ticketBaseView];
  76. //印票
  77. self.LTicketLabel = [[UILabel alloc]initWithFrame:CGRectMake(0,0, self.width/3, 20*kScaleHeight)];
  78. self.LTicketLabel.textColor = kWhiteColor;
  79. self.LTicketLabel.textAlignment = NSTextAlignmentLeft;
  80. self.LTicketLabel.font = [UIFont systemFontOfSize:10];
  81. [_ticketBaseView addSubview:self.LTicketLabel];
  82. //等级
  83. self.LRankImgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.LTicketLabel.right + 10, self.LTicketLabel.top, 26, 13)];
  84. [_ticketBaseView addSubview:self.LRankImgView];
  85. //关注按钮
  86. self.LConcertBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  87. self.LConcertBtn.frame = CGRectMake(0, self.LGoldImgView.bottom - 32, 44, 44);
  88. self.LConcertBtn.centerX = self.LGoldImgView.centerX;
  89. self.LConcertBtn.titleLabel.font = [UIFont systemFontOfSize:12];
  90. self.LConcertBtn.hidden = YES;
  91. // [self.LConcertBtn setTitle:ASLocalizedString(@"+关注")forState:UIControlStateNormal];
  92. [self.LConcertBtn setTitleColor:kWhiteColor forState:UIControlStateNormal];
  93. [self.LConcertBtn setImage:[UIImage imageNamed:@"rank_top_follow"] forState:UIControlStateNormal];
  94. self.LConcertBtn.tag = 1000 + 0;
  95. [self.LConcertBtn addTarget:self action:@selector(clickAttention:) forControlEvents:UIControlEventTouchUpInside];
  96. [self addSubview:self.LConcertBtn];
  97. #pragma mark - //------------------------------中间边部分------------------------------
  98. headImgWidth = 70;
  99. //头像
  100. self.MHeadImgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.width/2 - 50 / 2 - 5,15 + 20, headImgWidth, headImgWidth)];
  101. self.MHeadImgView.layer.cornerRadius = headImgWidth / 2;
  102. self.MHeadImgView.layer.masksToBounds = YES;
  103. self.MHeadImgView.contentMode = UIViewContentModeScaleAspectFill;
  104. self.MHeadImgView.userInteractionEnabled = YES;
  105. // self.MHeadImgView.image = kDefaultPreloadHeadImg;
  106. [self addSubview:self.MHeadImgView];
  107. //等级头像
  108. self.MGoldImgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.width/2 - 134/2 / 2,15, 110, 110)];
  109. self.MGoldImgView.image = [UIImage imageNamed:@"mg_new_rank_first"];
  110. self.MGoldImgView.userInteractionEnabled = YES;
  111. self.MGoldImgView.tag = 0;
  112. [self addSubview:self.MGoldImgView];
  113. self.MGoldImgView.centerX = self.MHeadImgView.centerX ;
  114. self.MGoldImgView.centerY = self.MHeadImgView.centerY - 23 / 2;
  115. //手势
  116. UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tap:)];
  117. [self.MGoldImgView addGestureRecognizer:tap1];
  118. //名字性别等级底部的view
  119. self.MNSRView = [[UIView alloc]initWithFrame:CGRectMake(self.width/2 - 40*kScaleWidth, CGRectGetMaxY(self.MGoldImgView.frame)+kRealValue(18), 80*kScaleWidth, 20*kScaleHeight)];
  120. self.MNSRView.backgroundColor = kClearColor;
  121. [self addSubview:self.MNSRView];
  122. //性别
  123. self.MSexImgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.MNSRView.width -26-13-5, (self.MNSRView.height-13)/2, 13, 13)];
  124. self.MSexImgView.hidden = YES;
  125. // self.MSexImgView.hidden = YES;
  126. [self.MNSRView addSubview:self.MSexImgView];
  127. //昵称、印票、等级view
  128. _mbaseView = [[UIView alloc] initWithFrame:CGRectMake(self.width/2 - 40*kScaleWidth - 20, CGRectGetMaxY(self.MGoldImgView.frame) + 25, 80*kScaleWidth + 30, 50)];
  129. // _mbaseView.layer.borderColor = UIColor.redColor.CGColor;
  130. // _mbaseView.layer.borderWidth = 1;
  131. [self addSubview:_mbaseView];
  132. //名字
  133. self.MNameLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, self.mbaseView.width , 20*kScaleHeight)];
  134. self.MNameLabel.textColor = kWhiteColor;
  135. self.MNameLabel.font = [UIFont systemFontOfSize:13];
  136. [self.mbaseView addSubview:self.MNameLabel];
  137. _mticketBaseView = [[UIView alloc] initWithFrame:CGRectMake(0, self.MNameLabel.bottom , 10, 20*kScaleHeight)];
  138. // _mticketBaseView.layer.borderColor = UIColor.redColor.CGColor;
  139. // _mticketBaseView.layer.borderWidth = 1;
  140. [_mbaseView addSubview:_mticketBaseView];
  141. //印票
  142. self.MTicketLabel = [[UILabel alloc]initWithFrame:CGRectMake(0,0, self.width/3, 20*kScaleHeight)];
  143. self.MTicketLabel.textColor = kWhiteColor;
  144. self.MTicketLabel.textAlignment = NSTextAlignmentCenter;
  145. self.MTicketLabel.font = [UIFont systemFontOfSize:10];
  146. [self.mticketBaseView addSubview:self.MTicketLabel];
  147. //等级
  148. self.MRankImgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.MTicketLabel.right + 10, self.MTicketLabel.top, 26, 13)];
  149. [self.mticketBaseView addSubview:self.MRankImgView];
  150. //关注按钮
  151. self.MConcertBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  152. self.MConcertBtn.frame = CGRectMake(0, self.MGoldImgView.bottom - 32, 44, 44);
  153. self.MConcertBtn.centerX = self.MGoldImgView.centerX;
  154. // [self.MConcertBtn setTitle:ASLocalizedString(@"+关注")forState:UIControlStateNormal];
  155. self.MConcertBtn.titleLabel.font = [UIFont systemFontOfSize:12];
  156. [self.MConcertBtn setTitleColor:kWhiteColor forState:UIControlStateNormal];
  157. [self.MConcertBtn setImage:[UIImage imageNamed:@"rank_top_follow"] forState:UIControlStateNormal];
  158. self.MConcertBtn.tag = 1000 + 1;
  159. [self.MConcertBtn addTarget:self action:@selector(clickAttention:) forControlEvents:UIControlEventTouchUpInside];
  160. self.MConcertBtn.hidden = YES;
  161. [self addSubview:self.MConcertBtn];
  162. #pragma mark - //------------------------------右边部分------------------------------
  163. //头像
  164. headImgWidth = 60;
  165. self.RHeadImgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.width*5/6 -23*kScaleHeight,self.LHeadImgView.top, headImgWidth, headImgWidth)];
  166. self.RHeadImgView.layer.cornerRadius = headImgWidth / 2;
  167. self.RHeadImgView.layer.masksToBounds = YES;
  168. self.RHeadImgView.userInteractionEnabled = YES;
  169. self.RHeadImgView.image = kDefaultPreloadHeadImg;
  170. [self addSubview:self.RHeadImgView];
  171. //等级头像
  172. self.RGoldImgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.width*5/6 - 83*kScaleHeight/2, 110, 94, 100)];
  173. self.RGoldImgView.image = [UIImage imageNamed:@"mg_new_rank_third"];
  174. self.RGoldImgView.userInteractionEnabled = YES;
  175. self.RGoldImgView.tag = 2;
  176. [self addSubview:self.RGoldImgView];
  177. self.RGoldImgView.centerX = self.RHeadImgView.centerX;
  178. self.RGoldImgView.centerY = self.RHeadImgView.centerY - 23 / 2;
  179. //手势
  180. UITapGestureRecognizer *tap2 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tap:)];
  181. [self.RGoldImgView addGestureRecognizer:tap2];
  182. //名字性别等级底部的view
  183. self.RNSRView = [[UIView alloc]initWithFrame:CGRectMake(self.width*5/6 - 40*kScaleWidth, CGRectGetMaxY(self.RGoldImgView.frame)+ kRealValue(18), 80*kScaleWidth, 20*kScaleHeight)];
  184. self.RNSRView.backgroundColor = kClearColor;
  185. [self addSubview:self.RNSRView];
  186. //性别
  187. self.RSexImgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.RNSRView.width -26-13-5, (self.RNSRView.height-13)/2, 13, 13)];
  188. self.RSexImgView.hidden = YES;
  189. // self.RSexImgView.hidden = YES;
  190. [self.RNSRView addSubview:self.RSexImgView];
  191. //昵称、印票、等级view
  192. _rbaseView = [[UIView alloc] initWithFrame:CGRectMake(self.width*5/6 - 40*kScaleWidth - 20, CGRectGetMaxY(self.RGoldImgView.frame) + 25, 80*kScaleWidth + 30, 50)];
  193. // _rbaseView.layer.borderColor = UIColor.redColor.CGColor;
  194. // _rbaseView.layer.borderWidth = 1;
  195. [self addSubview:_rbaseView];
  196. //名字
  197. self.RNameLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, _rbaseView.width , 20*kScaleHeight)];
  198. self.RNameLabel.textColor = kWhiteColor;
  199. self.RNameLabel.font = [UIFont systemFontOfSize:13];
  200. [_rbaseView addSubview:self.RNameLabel];
  201. _rticketBaseView = [[UIView alloc] initWithFrame:CGRectMake(0, self.RNameLabel.bottom, 10, 20*kScaleHeight)];
  202. // _rticketBaseView.layer.borderColor = UIColor.redColor.CGColor;
  203. // _rticketBaseView.layer.borderWidth = 1;
  204. [_rbaseView addSubview:_rticketBaseView];
  205. //印票
  206. self.RTicketLabel = [[UILabel alloc]initWithFrame:CGRectMake(0,0, self.width/3, 20*kScaleHeight)];
  207. self.RTicketLabel.textColor = kWhiteColor;
  208. self.RTicketLabel.textAlignment = NSTextAlignmentCenter;
  209. self.RTicketLabel.font = [UIFont systemFontOfSize:10];
  210. [_rticketBaseView addSubview:self.RTicketLabel];
  211. //等级
  212. self.RRankImgView = [[UIImageView alloc]initWithFrame:CGRectMake(self.RTicketLabel.right + 10, self.RTicketLabel.top, 26, 13)];
  213. [self.rticketBaseView addSubview:self.RRankImgView];
  214. //关注按钮
  215. self.RConcertBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  216. self.RConcertBtn.frame = CGRectMake(0, self.RGoldImgView.bottom - 32, 44, 44);
  217. self.RConcertBtn.centerX = self.RGoldImgView.centerX;
  218. // [self.RConcertBtn setTitle:ASLocalizedString(@"+关注")forState:UIControlStateNormal];
  219. [self.RConcertBtn setTitleColor:kWhiteColor forState:UIControlStateNormal];
  220. [self.RConcertBtn setImage:[UIImage imageNamed:@"rank_top_follow"] forState:UIControlStateNormal];
  221. self.RConcertBtn.tag = 1000 + 2;
  222. self.RConcertBtn.titleLabel.font = [UIFont systemFontOfSize:12];
  223. [self.RConcertBtn addTarget:self action:@selector(clickAttention:) forControlEvents:UIControlEventTouchUpInside];
  224. self.RConcertBtn.hidden = YES;
  225. [self addSubview:self.RConcertBtn];
  226. }
  227. - (void)setMyViewWithMArr:(NSMutableArray *)mArr andType:(int)type consumeType:(int)consumeType
  228. {
  229. if (mArr.count)
  230. {
  231. NSString *str = consumeType <= 3 ? ASLocalizedString(@"贡献"): ASLocalizedString(@"获得");
  232. self.MGoldImgView.userInteractionEnabled = YES;
  233. UserModel *model1 = mArr[0];
  234. self.MConcertBtn.hidden = NO;
  235. if ([model1.is_focus isEqualToString:@"1"]) {
  236. // [self.MConcertBtn setTitle:ASLocalizedString(@"已关注")forState:UIControlStateNormal];
  237. [self.MConcertBtn setImage:[UIImage imageNamed:@"rank_top_followed"] forState:UIControlStateNormal];
  238. }
  239. self.MModel = model1;
  240. if (model1.is_noble_ranking_stealth.intValue == 1 && ![model1.user_id isEqualToString:[GlobalVariables sharedInstance].userModel.user_id]) {
  241. [self.MHeadImgView sd_setImageWithURL:nil placeholderImage:kDefaultNobleMysteriousHeadImg];
  242. self.MNameLabel.text =ASLocalizedString(@"神秘人");
  243. // self.MNameLabel.text = [NSString stringWithFormat:ASLocalizedString(@"神秘人%@"),model1.nick_name];
  244. model1.nick_name = self.MNameLabel.text;
  245. self.MSexImgView.hidden = self.MRankImgView.hidden = self.MConcertBtn.hidden = YES;
  246. }else{
  247. if ([model1.user_id isEqualToString:[GlobalVariables sharedInstance].userModel.user_id]) {
  248. [self.MHeadImgView sd_setImageWithURL:nil placeholderImage:kDefaultNobleMysteriousHeadImg];
  249. }else{
  250. [self.MHeadImgView sd_setImageWithURL:[NSURL URLWithString:model1.head_image] placeholderImage:[UIImage imageNamed:@"com_preload_head_img"]];
  251. }
  252. self.MNameLabel.text = model1.nick_name;
  253. }
  254. CGFloat width = [model1.nick_name sizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]}].width;
  255. [self updateViewWithWidth:width andView:self.MNSRView andLabel:self.MNameLabel andSexImg:self.MSexImgView andRankImg:self.MRankImgView andTag:3];
  256. //性别
  257. if ([model1.sex isEqualToString:@"1"])
  258. {
  259. self.MSexImgView.image = [UIImage imageNamed:@"com_male_selected"];
  260. }
  261. else
  262. {
  263. self.MSexImgView.image = [UIImage imageNamed:@"com_female_selected"];
  264. }
  265. //等级
  266. if ([model1.user_level intValue] !=0)
  267. {
  268. self.MRankImgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"level%@",model1.user_level]];
  269. }
  270. else
  271. {
  272. self.MRankImgView.image = [UIImage imageNamed:@"rank_1"];
  273. }
  274. if (type == 1)
  275. {
  276. self.MTicketLabel.text = [NSString stringWithFormat:@"%@",[self checkDiamondNum:model1.use_ticket]];
  277. }
  278. else
  279. {
  280. NSString *ticketName = consumeType <= 3 ? [GlobalVariables sharedInstance].appModel.diamond_name : [GlobalVariables sharedInstance].appModel.ticket_name;
  281. self.MTicketLabel.text = [NSString stringWithFormat:@"%@",[self checkDiamondNum:model1.ticket]];
  282. }
  283. CGSize size = [self.MTicketLabel.text textSizeIn:CGSizeMake(CGFLOAT_MAX, 20*kScaleHeight) font:[UIFont systemFontOfSize:10]];
  284. self.MTicketLabel.width = size.width;
  285. self.MRankImgView.left = self.MTicketLabel.right + 5;
  286. self.MRankImgView.centerY = self.MTicketLabel.centerY;
  287. _mticketBaseView.width = self.MTicketLabel.width + self.MRankImgView.width + 10;
  288. _mticketBaseView.centerX = _mbaseView.width/2;
  289. self.MNameLabel.centerX = _mticketBaseView.centerX;
  290. if (mArr.count > 1)
  291. {
  292. self.LGoldImgView.userInteractionEnabled = YES;
  293. self.LConcertBtn.hidden = NO;
  294. UserModel *model2 = mArr[1];
  295. if ([model2.is_focus isEqualToString:@"1"]) {
  296. // [self.LConcertBtn setTitle:ASLocalizedString(@"已关注")forState:UIControlStateNormal];
  297. [self.LConcertBtn setImage:[UIImage imageNamed:@"rank_top_followed"] forState:UIControlStateNormal];
  298. }
  299. self.LModel = model2;
  300. if (model2.is_noble_ranking_stealth.intValue == 1 && ![model2.user_id isEqualToString:[GlobalVariables sharedInstance].userModel.user_id]) {
  301. [self.LHeadImgView sd_setImageWithURL:nil placeholderImage:kDefaultNobleMysteriousHeadImg];
  302. self.LNameLabel.text =ASLocalizedString( @"神秘人");
  303. // = [NSString stringWithFormat:ASLocalizedString(@"神秘人%@"),model2.nick_name];
  304. model2.nick_name = self.LNameLabel.text;
  305. self.LSexImgView.hidden = self.LRankImgView.hidden = self.LConcertBtn.hidden = YES;
  306. }else{
  307. if ([model2.user_id isEqualToString:[GlobalVariables sharedInstance].userModel.user_id]) {
  308. [self.LHeadImgView sd_setImageWithURL:nil placeholderImage:kDefaultNobleMysteriousHeadImg];
  309. }else{
  310. [self.LHeadImgView sd_setImageWithURL:[NSURL URLWithString:model2.head_image] placeholderImage:[UIImage imageNamed:@"com_preload_head_img"]];
  311. }
  312. self.LNameLabel.text = model2.nick_name;
  313. }
  314. CGFloat width2 =[model2.nick_name sizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]}].width;
  315. [self updateViewWithWidth:width2 andView:self.LNSRView andLabel:self.LNameLabel andSexImg:self.LSexImgView andRankImg:self.LRankImgView andTag:1];
  316. //性别
  317. if ([model2.sex isEqualToString:@"1"])
  318. {
  319. self.LSexImgView.image = [UIImage imageNamed:@"com_male_selected"];
  320. }
  321. else
  322. {
  323. self.LSexImgView.image = [UIImage imageNamed:@"com_female_selected"];
  324. }
  325. //等级
  326. if ([model2.user_level intValue] !=0)
  327. {
  328. self.LRankImgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"level%@",model2.user_level]];
  329. }
  330. else
  331. {
  332. self.LRankImgView.image = [UIImage imageNamed:@"rank_1"];
  333. }
  334. if (type == 1)
  335. {
  336. // self.LTicketLabel.text = [NSString stringWithFormat:ASLocalizedString(@"贡献%@%@"),[self checkDiamondNum:model2.use_ticket],self.BuguLive.appModel.ticket_name];
  337. self.LTicketLabel.text = [NSString stringWithFormat:@"%@",[self checkDiamondNum:model2.use_ticket]];
  338. }else
  339. {
  340. NSString *ticketName = consumeType <= 3 ? [GlobalVariables sharedInstance].appModel.diamond_name : [GlobalVariables sharedInstance].appModel.ticket_name;
  341. self.LTicketLabel.text = [NSString stringWithFormat:@"%@",[self checkDiamondNum:model2.ticket]];
  342. }
  343. CGSize size = [self.MTicketLabel.text textSizeIn:CGSizeMake(CGFLOAT_MAX, 20*kScaleHeight) font:[UIFont systemFontOfSize:10]];
  344. self.LTicketLabel.width = size.width;
  345. self.LRankImgView.left = self.LTicketLabel.right + 5;
  346. self.LRankImgView.centerY = self.LTicketLabel.centerY;
  347. _ticketBaseView.width = self.LTicketLabel.width + self.LRankImgView.width + 10;
  348. _ticketBaseView.centerX = _baseView.width/2;
  349. self.LNameLabel.centerX = _ticketBaseView.centerX;
  350. }
  351. if (mArr.count > 2)
  352. {
  353. self.RGoldImgView.userInteractionEnabled = YES;
  354. UserModel *model3 = mArr[2];
  355. self.RModel = model3;
  356. self.RConcertBtn.hidden = NO;
  357. if ([model3.is_focus isEqualToString:@"1"]) {
  358. // [self.RConcertBtn setTitle:ASLocalizedString(@"已关注")[self.RConcertBtn setImage:[UIImage imageNamed:@"rank_top_followed"] forState:UIControlStateNormal];
  359. }
  360. if (model3.is_noble_ranking_stealth.intValue == 1 && ![model3.user_id isEqualToString:[GlobalVariables sharedInstance].userModel.user_id]) {
  361. [self.RHeadImgView sd_setImageWithURL:nil placeholderImage:kDefaultNobleMysteriousHeadImg];
  362. self.RNameLabel.text =ASLocalizedString( @"神秘人");
  363. // [NSString stringWithFormat:ASLocalizedString(@"神秘人%@"),model3.nick_name];
  364. model3.nick_name = self.RNameLabel.text;
  365. self.RSexImgView.hidden = self.RRankImgView.hidden = self.RConcertBtn.hidden = YES;
  366. }else{
  367. if ([model3.user_id isEqualToString:[GlobalVariables sharedInstance].userModel.user_id]) {
  368. [self.RHeadImgView sd_setImageWithURL:nil placeholderImage:kDefaultNobleMysteriousHeadImg];
  369. }else{
  370. [self.RHeadImgView sd_setImageWithURL:[NSURL URLWithString:model3.head_image] placeholderImage:[UIImage imageNamed:@"com_preload_head_img"]];
  371. }
  372. self.RNameLabel.text = model3.nick_name;
  373. }
  374. CGFloat width3 =[model3.nick_name sizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]}].width;
  375. [self updateViewWithWidth:width3 andView:self.RNSRView andLabel:self.RNameLabel andSexImg:self.RSexImgView andRankImg:self.RRankImgView andTag:5];
  376. //性别
  377. if ([model3.sex isEqualToString:@"1"])
  378. {
  379. self.RSexImgView.image = [UIImage imageNamed:@"com_male_selected"];
  380. }
  381. else
  382. {
  383. self.RSexImgView.image = [UIImage imageNamed:@"com_female_selected"];
  384. }
  385. //等级
  386. if ([model3.user_level intValue] !=0)
  387. {
  388. self.RRankImgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"level%@",model3.user_level]];
  389. }
  390. else
  391. {
  392. self.RRankImgView.image = [UIImage imageNamed:@"rank_1"];
  393. }
  394. if (type == 1)
  395. {
  396. self.RTicketLabel.text = [NSString stringWithFormat:@"%@",[self checkDiamondNum:model3.use_ticket]];
  397. }else
  398. {
  399. NSString *ticketName = consumeType <= 3 ? [GlobalVariables sharedInstance].appModel.diamond_name : [GlobalVariables sharedInstance].appModel.ticket_name;
  400. self.RTicketLabel.text = [NSString stringWithFormat:@"%@",[self checkDiamondNum:model3.ticket]];
  401. }
  402. CGSize size = [self.MTicketLabel.text textSizeIn:CGSizeMake(CGFLOAT_MAX, 20*kScaleHeight) font:[UIFont systemFontOfSize:10]];
  403. self.RTicketLabel.width = size.width;
  404. self.RRankImgView.left = self.RTicketLabel.right + 5;
  405. self.RRankImgView.centerY = self.RTicketLabel.centerY;
  406. _rticketBaseView.width = self.RTicketLabel.width + self.RRankImgView.width + 10;
  407. _rticketBaseView.centerX = _rbaseView.width/2;
  408. self.RNameLabel.centerX = _rticketBaseView.centerX;
  409. }
  410. CGRect rect = self.frame;
  411. rect.size.height = 205;
  412. self.frame = rect;
  413. if (!StrValid(model1.nick_name)) {
  414. self.MTicketLabel.hidden = self.MNameLabel.hidden = self.MRankImgView.hidden = self.MConcertBtn.hidden = self.MSexImgView.hidden = YES;
  415. }
  416. if (mArr.count > 1) {
  417. UserModel *model2 = mArr[1];
  418. if (!StrValid(model2.nick_name)) {
  419. self.LTicketLabel.hidden = self.LNameLabel.hidden = self.LRankImgView.hidden = self.LConcertBtn.hidden = self.LSexImgView.hidden = YES;
  420. }
  421. }
  422. if (mArr.count > 2) {
  423. UserModel *model3 = mArr[2];
  424. if (!StrValid(model3.nick_name)) {
  425. self.RTicketLabel.hidden = self.RNameLabel.hidden = self.RRankImgView.hidden = self.RConcertBtn.hidden = self.RSexImgView.hidden = YES;
  426. }
  427. }
  428. }else
  429. {
  430. CGRect rect = self.frame;
  431. rect.size.height = 0;
  432. self.frame = rect;
  433. }
  434. if ([_LModel.user_id isEqualToString:[IMAPlatform sharedInstance].host.imUserId]) {
  435. self.LConcertBtn.hidden = YES;
  436. }
  437. if ([_MModel.user_id isEqualToString:[IMAPlatform sharedInstance].host.imUserId]) {
  438. self.MConcertBtn.hidden = YES;
  439. }
  440. if ([_RModel.user_id isEqualToString:[IMAPlatform sharedInstance].host.imUserId]) {
  441. self.RConcertBtn.hidden = YES;
  442. }
  443. NSLog(@"%@",[IMAPlatform sharedInstance].host.imUserId);
  444. }
  445. -(NSString *)checkDiamondNum:(NSString *)num{
  446. NSString *numStr = @"";
  447. float numF = num.floatValue;
  448. if (numF > 1000) {
  449. numStr = [NSString stringWithFormat:ASLocalizedString(@"%.1fK"),floorf(numF/1000)];
  450. // [NSString stringWithFormat:@"%.2f",num.floatValue];
  451. }else{
  452. numStr = [NSString stringWithFormat:@"%.0f",numF];
  453. }
  454. return numStr;
  455. }
  456. - (void)updateViewWithWidth:(CGFloat)width andView:(UIView *)bottomView andLabel:(UILabel *)label andSexImg:(UIImageView *)sexImgView andRankImg:(UIImageView *)rankImgView andTag:(int)tag
  457. {
  458. if (width +10 + 13 +26 +6 > self.width/3)
  459. {
  460. width = self.width/3 -10 -13 -26 -6;
  461. }
  462. CGRect rect = label.frame;
  463. rect.size.width = width;
  464. label.frame = rect;
  465. if (sexImgView.hidden && rankImgView.hidden) {
  466. label.width = 80*kScaleWidth + 10;
  467. // 80*kScaleWidth
  468. label.textAlignment = NSTextAlignmentCenter;
  469. }
  470. CGRect rect1 = bottomView.frame;
  471. rect1.size.width = width +10 + 13 +26;
  472. rect1.origin.x = tag * self.width/6 -(width +10 + 13 +26)/2;
  473. bottomView.frame = rect1;
  474. CGRect rect2 = sexImgView.frame;
  475. rect2.origin.x = CGRectGetMaxX(label.frame) +5;
  476. sexImgView.frame = rect2;
  477. CGRect rect3 = rankImgView.frame;
  478. rect3.origin.x = CGRectGetMaxX(sexImgView.frame) +5;
  479. rankImgView.frame = rect3;
  480. }
  481. - (void)tap:(UITapGestureRecognizer *)tap
  482. {
  483. if (self.leadBlock)
  484. {
  485. self.leadBlock((int)tap.view.tag);
  486. }
  487. }
  488. -(void)clickAttention:(UIButton *)sender{
  489. NSString *uid = @"";
  490. if (sender.tag == 1000) {
  491. uid = self.LModel.user_id;
  492. }else if (sender.tag == 1001){
  493. uid = self.MModel.user_id;
  494. }else if (sender.tag == 1002){
  495. uid = self.RModel.user_id;
  496. }
  497. if (!uid) {
  498. [BGHUDHelper alert:ASLocalizedString(@"用户不存在")];
  499. return;
  500. }
  501. NSMutableDictionary *dictM = [[NSMutableDictionary alloc]init];
  502. [dictM setObject:@"user" forKey:@"ctl"];
  503. [dictM setObject:@"follow" forKey:@"act"];
  504. [dictM setObject:uid forKey:@"to_user_id"];
  505. FWWeakify(self)
  506. [self.httpsManager POSTWithParameters:dictM SuccessBlock:^(NSDictionary *responseJson)
  507. {
  508. FWStrongify(self)
  509. if ([responseJson toInt:@"status"] == 1)
  510. {
  511. NSInteger has_focus = [responseJson toInt:@"has_focus"];
  512. if (has_focus == 1) {
  513. // [sender setTitle:ASLocalizedString(@"已关注")forState:UIControlStateNormal];
  514. [sender setImage:[UIImage imageNamed:@"rank_top_followed"] forState:UIControlStateNormal];
  515. }else{
  516. [sender setImage:[UIImage imageNamed:@"rank_top_follow"] forState:UIControlStateNormal];
  517. }
  518. }
  519. } FailureBlock:^(NSError *error)
  520. {
  521. NSLog(@"error===%@",error);
  522. }];
  523. }
  524. @end