YOUPAILCDynamicHeadView.m 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. //
  2. // YOUPAILCDynamicHeadView.m
  3. // LiveChat
  4. //
  5. // Created by 张灿 on 2018/9/7.
  6. // Copyright © 2018年 caicai. All rights reserved.
  7. //
  8. #import "YOUPAILCDynamicHeadView.h"
  9. #import "CWStarRateView.h"
  10. #import "YOUPAIHRAgeSexView.h"
  11. #import "YOUPAILZLevelView.h"
  12. @interface YOUPAILCDynamicHeadView()
  13. @property(nonatomic,strong)UILabel* youpaipnickLab;
  14. @property(nonatomic,strong)UILabel* youpaipageLab;
  15. @property(nonatomic,strong)UILabel* youpaipcityLab;
  16. @property(nonatomic,strong)UILabel* youpaiptimeLab;
  17. @property (strong, nonatomic) CWStarRateView *youpaipstarRateView;
  18. @property (nonatomic,strong)UIImageView *youpaipvipV1;
  19. @property (nonatomic, weak) UIImageView *youpaipvipV;
  20. @property (nonatomic, weak) UIImageView *youpaipbadgeImgV;
  21. @property (nonatomic, weak) YOUPAILZLevelView *youpaiplevelView;
  22. @property (nonatomic, strong) UILabel *slText;
  23. @end
  24. @implementation YOUPAILCDynamicHeadView
  25. - (instancetype)initWithModel:(YOUPAILCDynamicModel*)model{
  26. if (self = [super init]) {
  27. self.youpaipdyModel = model;
  28. [self youpaifsetupView];
  29. }
  30. return self;
  31. }
  32. - (instancetype)initWithFrame:(CGRect)frame model:(YOUPAILCDynamicModel*)model{
  33. if (self = [super initWithFrame:frame]) {
  34. self.youpaipdyModel = model;
  35. [self youpaifsetupView];
  36. }
  37. return self;
  38. }
  39. - (void)youpaifsetupView{
  40. YOUPAILZAvatarView *avatarImgV = [YOUPAILZAvatarView youpaifavatarViewWithFrame:CGRectMake(0.0f, 0.0f, 48.0f, 48.0f) avatarURL:nil personalityBoxURL:nil];
  41. avatarImgV.userInteractionEnabled = NO;
  42. [self addSubview:avatarImgV];
  43. self.youpaipavatarImgV = avatarImgV;
  44. [avatarImgV mas_makeConstraints:^(MASConstraintMaker *make) {
  45. make.left.equalTo(@14);
  46. make.centerY.equalTo(self);
  47. make.size.mas_equalTo(CGSizeMake(48, 48));
  48. }];
  49. UIButton *siiliaoBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  50. [siiliaoBtn setImage:ImageByName(@"vqu_siliao_image_bg") forState:UIControlStateNormal];
  51. [self addSubview:siiliaoBtn];
  52. self.siliaoBtn = siiliaoBtn;
  53. [siiliaoBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  54. make.right.equalTo(self).offset(-14);
  55. make.centerY.equalTo(self);
  56. make.size.mas_equalTo(CGSizeMake(adapt(52), adapt(24)));
  57. }];
  58. // UILabel *slText = [[UILabel alloc]init];
  59. // slText.font = LCBoldFont(10);
  60. // slText.textColor = HexColorFromRGB(0x000000);
  61. // slText.textAlignment = NSTextAlignmentRight;
  62. // slText.text = @"私聊";
  63. // [siiliaoBtn addSubview:slText];
  64. // self.slText = slText;
  65. // [slText mas_makeConstraints:^(MASConstraintMaker *make) {
  66. // make.right.equalTo(siiliaoBtn).offset(adapt(-8));
  67. // make.centerY.equalTo(siiliaoBtn.mas_centerY);
  68. // }];
  69. if (![[LCSaveModel getUserModel].youpaipuserinfo.youpaipuser_id isEqual:self.youpaipdyModel.youpaipuser_id]) {
  70. siiliaoBtn.hidden = false;
  71. }else{
  72. siiliaoBtn.hidden = true;
  73. }
  74. UIImageView *anchorTagImgV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"vqu_images_anchor_vlog"]];
  75. [self addSubview:anchorTagImgV];
  76. [anchorTagImgV mas_makeConstraints:^(MASConstraintMaker *make) {
  77. make.right.equalTo(self.youpaipavatarImgV.mas_right).offset(0.0f);
  78. make.bottom.equalTo(self.youpaipavatarImgV.mas_bottom).offset(0.0f);
  79. make.size.mas_offset(CGSizeMake(10.0f, 10.0f));
  80. }];
  81. anchorTagImgV.hidden = self.youpaipdyModel.youpaipis_anchor != 1;
  82. UILabel* nickLab = [[UILabel alloc]init];
  83. nickLab.textColor = LZ273145Color;
  84. nickLab.font = LCFont16;
  85. nickLab.text = self.youpaipdyModel.youpaipnickname;
  86. [self addSubview:nickLab];
  87. self.youpaipnickLab = nickLab;
  88. [nickLab makeConstraints:^(MASConstraintMaker *make) {
  89. make.top.equalTo(self.youpaipavatarImgV.mas_top).offset(@5);
  90. make.left.equalTo(self.youpaipavatarImgV.mas_right).offset(@10);
  91. make.height.equalTo(@16);
  92. }];
  93. UIImageView *vipV = [[UIImageView alloc] init];
  94. [self addSubview:vipV];
  95. self.youpaipvipV = vipV;
  96. vipV.hidden = YES;
  97. [vipV mas_makeConstraints:^(MASConstraintMaker *make) {
  98. make.left.equalTo(nickLab.mas_right).offset(3.0f);
  99. make.centerY.equalTo(nickLab);
  100. }];
  101. UIImageView *badgeImgV = [[UIImageView alloc] init];
  102. [self addSubview:badgeImgV];
  103. self.youpaipbadgeImgV = badgeImgV;
  104. badgeImgV.hidden = YES;
  105. [badgeImgV mas_makeConstraints:^(MASConstraintMaker *make) {
  106. make.left.equalTo(nickLab.mas_right).offset(3.0f);
  107. make.centerY.equalTo(nickLab);
  108. }];
  109. YOUPAILZLevelView *levelView = [[YOUPAILZLevelView alloc] init];
  110. [self addSubview:levelView];
  111. self.youpaiplevelView = levelView;
  112. levelView.hidden = YES;
  113. [levelView mas_makeConstraints:^(MASConstraintMaker *make) {
  114. make.left.equalTo(nickLab.mas_right).offset(3.0f);
  115. make.centerY.equalTo(nickLab);
  116. }];
  117. // UIImageView *vipV1 = [[UIImageView alloc] init];
  118. // [self addSubview:vipV1];
  119. // self.vipV1 = vipV1;
  120. // [vipV1 mas_makeConstraints:^(MASConstraintMaker *make) {
  121. // make.left.equalTo(sexView.mas_right).offset(5.0f);
  122. // make.centerY.equalTo(sexView);
  123. // make.size.mas_offset(CGSizeMake(30.0f, 19.0f));
  124. // }];
  125. //
  126. // self.vipV1.hidden = YES;
  127. // if (self.dyModel.vip_icon.length != 0) {
  128. // self.vipV1.hidden = NO;
  129. // [self.vipV1 sd_setImageWithURL:[LCTools getImageUrlWithAddress:self.dyModel.vip_icon]];
  130. // }
  131. // self.starRateView.scorePercent = 0.98;
  132. // UILabel* ageLab = [[UILabel alloc]init];
  133. // if (self.dyModel.gender==1) {
  134. // ageLab.backgroundColor = LCRedColor;
  135. // }else{
  136. // ageLab.backgroundColor = LCBlueColor;
  137. // }
  138. // ageLab.layer.cornerRadius = 2.0;
  139. // ageLab.layer.masksToBounds = YES;
  140. // ageLab.textColor = [UIColor whiteColor];
  141. // ageLab.font = LCFont12;
  142. // ageLab.textAlignment = NSTextAlignmentCenter;
  143. // ageLab.text = [NSString stringWithFormat:@"%zd",self.dyModel.age];
  144. // [self addSubview:ageLab];
  145. // self.ageLab = ageLab;
  146. // [ageLab makeConstraints:^(MASConstraintMaker *make) {
  147. // make.left.equalTo(self.nickLab.right).offset(@5);
  148. // make.top.equalTo(self.avatarImgV.top).offset(@6);
  149. // make.height.equalTo(@14);
  150. // make.width.equalTo(@20);
  151. // }];
  152. // UIView *scoreView = [[UIView alloc]init];
  153. // scoreView.layer.cornerRadius = 7;
  154. // scoreView.layer.masksToBounds = YES;
  155. // [self addSubview:scoreView];
  156. // [scoreView makeConstraints:^(MASConstraintMaker *make) {
  157. // make.left.equalTo(nickLab.right).offset(@(4));
  158. // make.top.equalTo(@15);
  159. // make.size.mas_equalTo(CGSizeMake(35,14));
  160. // }];
  161. // CAGradientLayer * gradientLayer = [LCTools getGradientLayerWithSize:CGSizeMake(35,14) twoColors:@[ZYGradientOneColor,ZYGradientTwoColor] gradientType:(GradientLeftToRight)];
  162. // [scoreView.layer addSublayer:gradientLayer];
  163. //
  164. // UIImageView *scoreImg = [[UIImageView alloc] initWithFrame:CGRectMake(2.5,2.5, 9, 9)];
  165. // scoreImg.image = [UIImage imageNamed:@"ic_score"];
  166. // [scoreView addSubview:scoreImg];
  167. //
  168. // UILabel *scoreL = [[UILabel alloc]initWithFrame:CGRectMake(11.5,0,23.5, 14)];
  169. // scoreL.textColor = [UIColor whiteColor];
  170. // scoreL.font = LCFont(10);
  171. // scoreL.textAlignment = NSTextAlignmentCenter;
  172. // scoreL.text = [NSString stringWithFormat:@"%.2f",[self.dyModel.give_score floatValue]];
  173. // [scoreView addSubview:scoreL];
  174. //性别
  175. YOUPAIHRAgeSexView *sexView = [YOUPAIHRAgeSexView new];
  176. [self addSubview:sexView];
  177. [sexView makeConstraints:^(MASConstraintMaker *make) {
  178. make.size.mas_equalTo(CGSizeMake(30, 14));
  179. make.left.equalTo(self.youpaipnickLab.mas_right).offset(@3);
  180. make.centerY.equalTo(nickLab);
  181. }];
  182. [sexView youpaifreloadWith:self.youpaipdyModel.youpaipgender Age:self.youpaipdyModel.youpaipage];
  183. UIImageView *addressImgV = [[UIImageView alloc] init];
  184. [addressImgV setImage:[UIImage imageNamed:@"vqu_images_dynamic_address"]];
  185. [self addSubview:addressImgV];
  186. [addressImgV mas_makeConstraints:^(MASConstraintMaker *make) {
  187. make.left.equalTo(self.youpaipavatarImgV.mas_right).offset(10);
  188. make.bottom.equalTo(self.youpaipavatarImgV.mas_bottom).offset(0);
  189. make.width.mas_offset(8);
  190. make.height.mas_offset(10);
  191. }];
  192. UILabel* cityLab = [[UILabel alloc]init];
  193. cityLab.textColor = HexColorFromRGB(0xA4AABC);
  194. cityLab.font = LCFont12;
  195. [self addSubview:cityLab];
  196. self.youpaipcityLab = cityLab;
  197. self.youpaipcityLab.text = self.youpaipdyModel.youpaipcity;
  198. if (self.youpaipdyModel.youpaipcity.length == 0) {
  199. self.youpaipcityLab.text = @"保密";
  200. }
  201. [cityLab makeConstraints:^(MASConstraintMaker *make) {
  202. make.left.equalTo(addressImgV.mas_right).offset(5);
  203. make.centerY.equalTo(addressImgV);
  204. make.height.equalTo(@12);
  205. }];
  206. // UIView* lineView = [[UIView alloc]init];
  207. // lineView.backgroundColor = LCTextGray;
  208. // [self addSubview:lineView];
  209. // [lineView makeConstraints:^(MASConstraintMaker *make) {
  210. // make.left.equalTo(self.cityLab.right).offset(@6);
  211. // make.top.equalTo(nickLab.bottom).offset(@3.5);
  212. // make.size.mas_equalTo(CGSizeMake(1, 10));
  213. // }];
  214. UILabel* timeLab = [[UILabel alloc]init];
  215. timeLab.textColor = HexColorFromRGB(0xA4AABC);
  216. timeLab.font = LCFont12;
  217. [self addSubview:timeLab];
  218. self.youpaiptimeLab = timeLab;
  219. self.youpaiptimeLab.text = self.youpaipdyModel.youpaipcreate_time;
  220. [timeLab makeConstraints:^(MASConstraintMaker *make) {
  221. make.left.equalTo(cityLab.mas_right).offset(@10);
  222. make.centerY.equalTo(addressImgV);
  223. make.height.equalTo(@12);
  224. }];
  225. // self.starRateView = [[CWStarRateView alloc] initWithFrame:CGRectMake(0,0,60,15) numberOfStars:5];
  226. // self.starRateView.allowIncompleteStar = YES;
  227. // self.starRateView.hasAnimation = YES;
  228. // self.starRateView.userInteractionEnabled = NO;
  229. // [self addSubview:self.starRateView];
  230. // [self.starRateView makeConstraints:^(MASConstraintMaker *make) {
  231. // make.left.equalTo(self.genderImgV.right).offset(@(5));
  232. // make.centerY.equalTo(self.genderImgV);
  233. // make.size.mas_equalTo(CGSizeMake(60,15));
  234. // }];
  235. // self.starRateView.scorePercent = [self.dyModel.give_score floatValue]/5.0;
  236. // self.youpaipmoreBtn = [[UIButton alloc]init];
  237. // [self.youpaipmoreBtn setImage:[UIImage imageNamed:@"vqu_images_D_dynamic_more"] forState:(UIControlStateNormal)];
  238. // [self addSubview:self.youpaipmoreBtn];
  239. // [self.youpaipmoreBtn setEnlargeEdge:10];
  240. // [self.youpaipmoreBtn makeConstraints:^(MASConstraintMaker *make) {
  241. // make.right.equalTo(-6.0f);
  242. // make.centerY.equalTo(self.youpaipavatarImgV);
  243. // make.size.mas_equalTo(CGSizeMake(40, 40));
  244. // }];
  245. self.youpaipavatarImgV.youpaipavatarURL = [LCTools getImageUrlWithAddress:self.youpaipdyModel.youpaipuserinfo.youpaipavatar];
  246. self.youpaipavatarImgV.youpaippersonalityBoxURL = [LCTools getImageUrlWithAddress:self.youpaipdyModel.youpaipuserinfo.youpaipavatar_frame];
  247. self.youpaipvipV.hidden = YES;
  248. self.youpaipbadgeImgV.hidden = YES;
  249. self.youpaiplevelView.hidden = YES;
  250. UIView *frontV;
  251. if (self.youpaipdyModel.youpaipuserinfo.youpaipvip_icon.length != 0) {
  252. self.youpaipvipV.hidden = NO;
  253. [self.youpaipvipV sd_setImageWithURL:[LCTools getImageUrlWithAddress:self.youpaipdyModel.youpaipuserinfo.youpaipvip_icon]];
  254. [self.youpaipvipV mas_remakeConstraints:^(MASConstraintMaker *make) {
  255. if (frontV == nil) {
  256. make.left.equalTo(sexView.mas_right).offset(3.0f);
  257. }else{
  258. make.left.equalTo(frontV.mas_right).offset(3.0f);
  259. }
  260. make.centerY.equalTo(self.youpaipnickLab);
  261. make.size.mas_offset(CGSizeMake(30.0f, 19.0f));
  262. }];
  263. frontV = self.youpaipvipV;
  264. }
  265. if (self.youpaipdyModel.youpaipuserinfo.youpaipbadge_info.youpaipfile.length != 0) {
  266. self.youpaipbadgeImgV.hidden = NO;
  267. [self.youpaipbadgeImgV sd_setImageWithURL:[LCTools getImageUrlWithAddress:self.youpaipdyModel.youpaipuserinfo.youpaipbadge_info.youpaipfile]];
  268. [self.youpaipbadgeImgV mas_remakeConstraints:^(MASConstraintMaker *make) {
  269. if (frontV == nil) {
  270. make.left.equalTo(sexView.mas_right).offset(3.0f);
  271. }else{
  272. make.left.equalTo(frontV.mas_right).offset(3.0f);
  273. }
  274. make.centerY.equalTo(self.youpaipnickLab);
  275. make.size.mas_offset(CGSizeMake(self.youpaipdyModel.youpaipuserinfo.youpaipbadge_info.youpaipwidth, 17.0f));
  276. }];
  277. frontV = self.youpaipbadgeImgV;
  278. }
  279. self.youpaiplevelView.hidden = NO;
  280. [self.youpaiplevelView youpaifreloadWithIcon:self.youpaipdyModel.youpaipuserinfo.youpaipgrade.youpaipimg1 iconWidth:self.youpaipdyModel.youpaipuserinfo.youpaipgrade.youpaipicon_width bgImg:self.youpaipdyModel.youpaipuserinfo.youpaipgrade.youpaipimg2 bgImgWidth:self.youpaipdyModel.youpaipuserinfo.youpaipgrade.youpaipicon1_width levelName:self.youpaipdyModel.youpaipuserinfo.youpaipgrade.youpaipgrade_name level:self.youpaipdyModel.youpaipuserinfo.youpaipgrade.youpaipgrade];
  281. [self.youpaiplevelView mas_remakeConstraints:^(MASConstraintMaker *make) {
  282. if (frontV == nil) {
  283. make.left.equalTo(sexView.mas_right).offset(3.0f);
  284. }else{
  285. make.left.equalTo(frontV.mas_right).offset(3.0f);
  286. }
  287. make.centerY.equalTo(self.youpaipnickLab);
  288. make.size.mas_offset(self.youpaiplevelView.mj_size);
  289. }];
  290. }
  291. @end