YOUPAILCBoardDetailHeadView.m 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. //
  2. // YOUPAILCBoardDetailHeadView.m
  3. // LiveChat
  4. //
  5. // Created by 张灿 on 2018/9/26.
  6. // Copyright © 2018年 caicai. All rights reserved.
  7. //
  8. #import "YOUPAILCBoardDetailHeadView.h"
  9. #import "YOUPAILZUserShowVC.h"
  10. @interface YOUPAILCBoardDetailHeadView()<ZCNavMenuViewDelegate>
  11. @property(nonatomic,assign)NSInteger youpaiptype;
  12. @property(nonatomic,strong)NSMutableArray* youpaipheadArray;
  13. @property(nonatomic,assign)NSInteger youpaipselectIndex;
  14. @property(nonatomic,strong)UIImageView* youpaipbackImgV;
  15. @property(nonatomic,strong)NSMutableArray* youpaipheadViewArray;
  16. @end
  17. @implementation YOUPAILCBoardDetailHeadView
  18. - (instancetype)initWithFrame:(CGRect)frame headArray:(NSMutableArray*)headArray selectIndex:(NSInteger)index andType:(NSInteger)type{
  19. if (self = [super initWithFrame:frame]) {
  20. self.youpaiptype = type;
  21. self.youpaipselectIndex = index;
  22. self.youpaipheadArray = headArray;
  23. self.youpaipheadViewArray = [NSMutableArray array];
  24. [self youpaifsetupView];
  25. }
  26. return self;
  27. }
  28. - (void)youpaifupdateHeadArray:(NSMutableArray*)headArray selectIndex:(NSInteger)index{
  29. self.youpaipselectIndex = index;
  30. self.youpaipheadArray = headArray;
  31. [self youpaifupdateView];
  32. }
  33. - (void)youpaifsetupView{
  34. UIImageView *topImgView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,KScreenWidth,35)];
  35. topImgView.image = [UIImage imageNamed:@"vqu_images_top_base"];
  36. [self addSubview:topImgView];
  37. self.youpaipbackImgV = [[UIImageView alloc]initWithFrame:CGRectMake(0,35, KScreenWidth,KScreenWidth*281/375.0)];
  38. self.youpaipbackImgV.contentMode = UIViewContentModeScaleAspectFill;
  39. self.youpaipbackImgV.image = [UIImage imageNamed:@"vqu_images_ic_list"];
  40. self.youpaipbackImgV.userInteractionEnabled = YES;
  41. [self addSubview:self.youpaipbackImgV];
  42. ZCNavMenuView* menuView = [[ZCNavMenuView alloc]initWithFrame:CGRectMake((KScreenWidth - 250)/2.0, 0, 250, 35) TitleArr:@[@"日榜",@"周榜",@"月榜",@"总榜"] normalFont:LCBoldFont(13) normalColor:HexColorFromRGB(0xffffff) selectFont:LCBoldFont(14) selectColor:HexColorFromRGB(0xffffff) selectLineColor:HexColorFromRGBA(0xffffff,1.0) currentIndex:self.youpaipselectIndex];
  43. menuView.delegate = self;
  44. self.youpaipmenuView = menuView;
  45. [self addSubview:self.youpaipmenuView];
  46. UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake((KScreenWidth - 200)/2.0, 0, 200, 35)];
  47. titleLabel.textAlignment = NSTextAlignmentCenter;
  48. titleLabel.textColor = HexColorFromRGB(0xffffff);
  49. titleLabel.font = LCBoldFont(14);
  50. self.youpaiptitleLabel = titleLabel;
  51. [self addSubview:self.youpaiptitleLabel];
  52. if (self.youpaiptype == 6) {
  53. [LCHttpHelper requestWithURLString:GetRankTab parameters:nil needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  54. NSDictionary* dict = (NSDictionary*)responseObject;
  55. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  56. if (code==0) {//成功
  57. NSString *bole_title = [NSString stringWithFormat:@"%@",[[dict objectForKey:@"data"] objectForKey:@"bole_title"]];
  58. titleLabel.text = bole_title;
  59. }
  60. } failure:^(NSError *error) {}];
  61. }
  62. }
  63. - (void)youpaifupdateView{
  64. //self.segment.selectedSegmentIndex = self.selectIndex;
  65. [self.youpaipmenuView changeCurrentSelectButton:self.youpaipselectIndex];
  66. for (UIView* view in self.youpaipheadViewArray) {
  67. [view removeFromSuperview];
  68. }
  69. if (self.youpaipheadArray.count>0) {
  70. for (int i =0; i<self.youpaipheadArray.count; i++) {
  71. YOUPAILCBoardModel* model = self.youpaipheadArray[i];
  72. if (i==0) {
  73. headView* head1 = [[headView alloc]initWithFrame:CGRectMake(KScreenWidth/2-50,0,100,KScreenWidth*281/375.0*(193.5/281.0)) serial:1 type:self.youpaiptype];
  74. [head1.youpaipavatarView sd_setImageWithURL:[LCTools getImageUrlWithAddress:model.youpaipavatar]];
  75. head1.youpaipcrownImgView.image = [UIImage imageNamed:@"vqu_images_ranking1"];
  76. head1.youpaipuserId = model.youpaipuser_id;
  77. head1.youpaipnameLab.text = model.youpaipnickname;
  78. head1.youpaipexpLab.text = model.youpaipgapMoney;
  79. // head1.vipV.hidden = YES;
  80. // UIImage *vipImg = [LCTools getVipImageWithLevel:model.vip];
  81. // head1.vipV.image = vipImg;
  82. // if (vipImg != nil) {
  83. // head1.vipV.hidden = NO;
  84. // CGSize size = [LCTools getVipSizeWithLevel:model.vip];
  85. // head1.vipV.frame = CGRectMake(head1.avatarView.mj_x + (head1.avatarView.mj_w - size.width) / 2.0f, head1.avatarView.mj_y + head1.avatarView.mj_h - 13.0f, size.width, size.height);
  86. // }
  87. [self.youpaipbackImgV addSubview:head1];
  88. [self.youpaipheadViewArray addObject:head1];
  89. }else if (i==1){
  90. headView* head2 = [[headView alloc]initWithFrame:CGRectMake(KScreenWidth/2-50-105,0, 100, KScreenWidth*281/375.0*(222/281.0)) serial:2 type:self.youpaiptype];
  91. head2.youpaiptype = self.youpaiptype;
  92. [head2.youpaipavatarView sd_setImageWithURL:[LCTools getImageUrlWithAddress:model.youpaipavatar]];
  93. head2.youpaipcrownImgView.image = [UIImage imageNamed:@"vqu_images_ranking2"];
  94. head2.youpaipuserId = model.youpaipuser_id;
  95. head2.youpaipnameLab.text = model.youpaipnickname;
  96. head2.youpaipexpLab.text = model.youpaipgapMoney;
  97. // head2.vipV.hidden = YES;
  98. // UIImage *vipImg = [LCTools getVipImageWithLevel:model.vip];
  99. // head2.vipV.image = vipImg;
  100. // if (vipImg != nil) {
  101. // head2.vipV.hidden = NO;
  102. // CGSize size = [LCTools getVipSizeWithLevel:model.vip];
  103. // head2.vipV.frame = CGRectMake(head2.avatarView.mj_x + (head2.avatarView.mj_w - size.width) / 2.0f, head2.avatarView.mj_y + head2.avatarView.mj_h - 13.0f, size.width, size.height);
  104. // }
  105. [self.youpaipbackImgV addSubview:head2];
  106. [self.youpaipheadViewArray addObject:head2];
  107. }else{
  108. headView* head3 = [[headView alloc]initWithFrame:CGRectMake(KScreenWidth/2+50+5,0, 100, KScreenWidth*281/375.0*(234.5/281.0)) serial:3 type:self.youpaiptype];
  109. head3.youpaiptype = self.youpaiptype;
  110. [head3.youpaipavatarView sd_setImageWithURL:[LCTools getImageUrlWithAddress:model.youpaipavatar]];
  111. head3.youpaipcrownImgView.image = [UIImage imageNamed:@"vqu_images_ranking3"];
  112. head3.youpaipuserId = model.youpaipuser_id;
  113. head3.youpaipnameLab.text = model.youpaipnickname;
  114. head3.youpaipexpLab.text = model.youpaipgapMoney;
  115. // head3.vipV.hidden = YES;
  116. // UIImage *vipImg = [LCTools getVipImageWithLevel:model.vip];
  117. // head3.vipV.image = vipImg;
  118. // if (vipImg != nil) {
  119. // head3.vipV.hidden = NO;
  120. // CGSize size = [LCTools getVipSizeWithLevel:model.vip];
  121. // head3.vipV.frame = CGRectMake(head3.avatarView.mj_x + (head3.avatarView.mj_w - size.width) / 2.0f, head3.avatarView.mj_y + head3.avatarView.mj_h - 13.0f, size.width, size.height);
  122. // }
  123. [self.youpaipbackImgV addSubview:head3];
  124. [self.youpaipheadViewArray addObject:head3];
  125. }
  126. }
  127. }
  128. }
  129. - (void)youpaifnavBtnClick:(NSInteger)index{
  130. if (self.youpaipdelegate && [self.youpaipdelegate respondsToSelector:@selector(youpaifsegmentClick:)]) {
  131. [self.youpaipdelegate youpaifsegmentClick:index];
  132. }
  133. }
  134. @end
  135. @implementation headView
  136. - (instancetype)initWithFrame:(CGRect)frame serial:(NSInteger)serial type:(NSInteger)type{
  137. self = [super initWithFrame:frame];
  138. if (self) {
  139. self.youpaipserial = serial;
  140. self.youpaiptype = type;
  141. [self youpaifsetupView];
  142. }
  143. return self;
  144. }
  145. - (void)youpaifsetupView{
  146. UITapGestureRecognizer* tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(youpaiftapClick:)];
  147. [self addGestureRecognizer:tap];
  148. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,self.frame.size.height-11, self.frame.size.width,11)];
  149. label.textColor = HexColorFromRGB(0x7F83FF);
  150. label.font = LCFont(9);
  151. label.text = @"距离上一名差";
  152. [self addSubview:label];
  153. self.youpaipexpLab = [[UILabel alloc]initWithFrame:CGRectMake(0,CGRectGetMinY(label.frame)-21, self.frame.size.width,21)];
  154. self.youpaipexpLab.textColor = HexColorFromRGB(0x7F83FF);
  155. self.youpaipexpLab.font = LCBoldFont(16);
  156. [self addSubview:self.youpaipexpLab];
  157. self.youpaipnameLab = [[UILabel alloc]initWithFrame:CGRectMake(0,CGRectGetMinY(self.youpaipexpLab.frame)-32.5-14, self.frame.size.width,14)];
  158. self.youpaipnameLab.textAlignment = NSTextAlignmentCenter;
  159. self.youpaipnameLab.textColor = LCWhiteColor;
  160. self.youpaipnameLab.font = LCFont(11);
  161. [self addSubview:self.youpaipnameLab];
  162. self.youpaipavatarView = [[UIImageView alloc]initWithFrame:CGRectMake(18.5,CGRectGetMinY(self.youpaipnameLab.frame)-63-5-13,63,63)];
  163. self.youpaipavatarView.backgroundColor = LCGray;
  164. self.youpaipavatarView.layer.masksToBounds = YES;
  165. self.youpaipavatarView.contentMode = UIViewContentModeScaleAspectFill;
  166. [self addSubview:self.youpaipavatarView];
  167. self.youpaipvipV = [[UIImageView alloc] init];
  168. [self addSubview:self.youpaipvipV];
  169. self.youpaipcrownImgView = [[UIImageView alloc]initWithFrame:CGRectMake(10,CGRectGetMinY(self.youpaipavatarView.frame)-15.3,41.8,40.8)];
  170. self.youpaipcrownImgView.contentMode = UIViewContentModeScaleAspectFill;
  171. [self addSubview:self.youpaipcrownImgView];
  172. if (self.youpaipserial ==1) {
  173. self.youpaipexpLab.font = LCBoldFont(18);
  174. self.youpaipexpLab.textAlignment = NSTextAlignmentCenter;
  175. label.textAlignment = NSTextAlignmentCenter;
  176. self.youpaipnameLab.frame = CGRectMake(0,CGRectGetMinY(self.youpaipexpLab.frame)-35-14, self.frame.size.width,14);
  177. self.youpaipavatarView.frame = CGRectMake(13,CGRectGetMinY(self.youpaipnameLab.frame)-74-5-13,74, 74);
  178. self.youpaipcrownImgView.frame = CGRectMake(25,CGRectGetMinY(self.youpaipavatarView.frame)-23,50,30);
  179. self.youpaipavatarView.layer.borderColor = HexColorFromRGB(0xFFF128).CGColor;
  180. self.youpaipavatarView.layer.borderWidth = 3.0;
  181. self.youpaipavatarView.layer.cornerRadius = 37;
  182. }else if (self.youpaipserial==2){
  183. self.youpaipcrownImgView.frame = CGRectMake(2,CGRectGetMinY(self.youpaipavatarView.frame)-19,41.8,40.8);
  184. self.youpaipavatarView.layer.borderColor = HexColorFromRGB(0xDCE5FF).CGColor;
  185. self.youpaipavatarView.layer.borderWidth = 1.5;
  186. self.youpaipavatarView.layer.cornerRadius = 31.5;
  187. self.youpaipexpLab.textAlignment = NSTextAlignmentRight;
  188. label.textAlignment = NSTextAlignmentRight;
  189. }else{
  190. self.youpaipcrownImgView.frame = CGRectMake(58,CGRectGetMinY(self.youpaipavatarView.frame)-18,41.8,40.8);
  191. self.youpaipavatarView.layer.borderColor = HexColorFromRGB(0xFFF0F6).CGColor;
  192. self.youpaipavatarView.layer.borderWidth = 1.5;
  193. self.youpaipavatarView.layer.cornerRadius = 31.5;
  194. self.youpaipexpLab.textAlignment = NSTextAlignmentLeft;
  195. label.textAlignment = NSTextAlignmentLeft;
  196. }
  197. }
  198. - (void)youpaiftapClick:(UITapGestureRecognizer*)tap{
  199. if (tap.state == UIGestureRecognizerStateEnded) {
  200. if (self.youpaiptype != 6) {
  201. headView* head = (headView*)tap.view;
  202. //LCUserShowVC* userShow = [[LCUserShowVC alloc]init];
  203. YOUPAILZUserShowVC *userShow = [[YOUPAILZUserShowVC alloc] init];
  204. userShow.youpaipuserId = head.youpaipuserId;
  205. //add by leo 0不跳转
  206. if(userShow.youpaipuserId.integerValue!=0)
  207. {
  208. [[LCTools getCurrentVC].navigationController pushViewController:userShow animated:YES];
  209. }
  210. else
  211. {
  212. [ZCHUDHelper showTitle:@"该用户排行榜设置了隐藏模式" showtime:2];
  213. }
  214. }else{
  215. [ZCHUDHelper showTitle:@"伯乐榜不支持详情查看" showtime:2];
  216. }
  217. }
  218. }
  219. @end