JXVipDetailHeaderView.m 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. //
  2. // JXVipDetailHeaderView.m
  3. // Demo
  4. //
  5. // Created by cindy on 2020/6/3.
  6. // Copyright © 2020 Seqster. All rights reserved.
  7. //
  8. #import "JXVipDetailHeaderView.h"
  9. @implementation JXVipDetailHeaderView
  10. -(instancetype)initWithFrame:(CGRect)frame {
  11. self = [super initWithFrame:frame];
  12. if (self) {
  13. [self _addSubViews];
  14. }
  15. return self;
  16. }
  17. - (void)_addSubViews {
  18. //背景图片
  19. self.backImageView = [[UIImageView alloc] init];
  20. self.backImageView.image = [UIImage imageNamed:@"bgVip02"];
  21. self.backImageView.userInteractionEnabled=YES;
  22. [self addSubview:self.backImageView];
  23. [self.backImageView mas_makeConstraints:^(MASConstraintMaker *make) {
  24. make.left.equalTo(@0);
  25. make.top.equalTo(@0);
  26. make.right.equalTo(@0);
  27. make.height.equalTo(@280);
  28. }];
  29. //当前等级大图片
  30. self.myGradeBigBackView = [[UIImageView alloc] init];
  31. self.myGradeBigBackView.userInteractionEnabled=YES;
  32. self.myGradeBigBackView.contentMode=UIViewContentModeScaleToFill;
  33. self.myGradeBigBackView.image = [UIImage imageNamed:@"组54"];
  34. self.myGradeBigBackView.contentMode=UIViewContentModeScaleToFill;
  35. [self.backImageView addSubview:self.myGradeBigBackView];
  36. [self.myGradeBigBackView mas_makeConstraints:^(MASConstraintMaker *make) {
  37. make.top.mas_equalTo(JX_SCREEN_HEIGHT>=812?88:64);
  38. make.right.equalTo(@-27);
  39. make.height.equalTo(@74);
  40. make.width.equalTo(@62);
  41. }];
  42. UILabel *vip = [[UILabel alloc] init];
  43. vip.text = @"VIP";
  44. vip.textColor = [UIColor brownColor];
  45. vip.textAlignment = NSTextAlignmentCenter;
  46. vip.font = [UIFont systemFontOfSize:8 weight:UIFontWeightMedium];
  47. [self.myGradeBigBackView addSubview:vip];
  48. [vip mas_makeConstraints:^(MASConstraintMaker *make) {
  49. make.left.equalTo(@2);
  50. make.top.equalTo(@25);
  51. make.right.equalTo(@0);
  52. make.height.equalTo(@15);
  53. }];
  54. self.numberLabel = [[UILabel alloc] init];
  55. self.numberLabel.textColor = [UIColor brownColor];
  56. self.numberLabel.textAlignment = NSTextAlignmentCenter;
  57. self.numberLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
  58. [self.myGradeBigBackView addSubview:self.numberLabel];
  59. [self.numberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  60. make.left.equalTo(@13);
  61. make.top.equalTo(vip.mas_bottom).offset(0);
  62. make.right.mas_equalTo(-10);
  63. make.height.equalTo(@12);
  64. }];
  65. UIButton *gobackBtn = [[UIButton alloc] init];
  66. [gobackBtn setImage:[UIImage imageNamed:@"photo_title_back"] forState:UIControlStateNormal];
  67. [self.backImageView addSubview:gobackBtn];
  68. self.gobackBtn=gobackBtn;
  69. [gobackBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  70. make.top.mas_equalTo(JX_SCREEN_HEIGHT>=812?40:20);
  71. make.left.equalTo(@1);
  72. make.width.equalTo(@44);
  73. make.height.equalTo(@44);
  74. }];
  75. UILabel *vipDeitalL = [[UILabel alloc] init];
  76. vipDeitalL.text = @"VIP详情";
  77. vipDeitalL.textColor = kRGBColor(51, 51, 51);
  78. vipDeitalL.textAlignment = NSTextAlignmentCenter;
  79. vipDeitalL.font = [UIFont systemFontOfSize:24 weight:UIFontWeightMedium];
  80. [self.backImageView addSubview:vipDeitalL];
  81. self.vipDeitalL=vipDeitalL;
  82. [vipDeitalL mas_makeConstraints:^(MASConstraintMaker *make) {
  83. make.top.mas_equalTo(JX_SCREEN_HEIGHT>=812?40:20);
  84. make.height.equalTo(@44);
  85. make.left.equalTo(@64);
  86. make.right.mas_equalTo(-64);
  87. }];
  88. //头像
  89. self.headerImageView = [[UIImageView alloc] init];
  90. self.headerImageView.layer.cornerRadius = 35;
  91. self.headerImageView.layer.masksToBounds = YES;
  92. [self.backImageView addSubview:self.headerImageView];
  93. [self.headerImageView mas_makeConstraints:^(MASConstraintMaker *make) {
  94. make.left.equalTo(@15);
  95. make.top.mas_equalTo(JX_SCREEN_HEIGHT>=812?88:64);
  96. make.width.height.equalTo(@70);
  97. }];
  98. //昵称
  99. self.nameLabel = [[UILabel alloc] init];
  100. self.nameLabel.textColor = [UIColor blackColor];
  101. self.nameLabel.font = [UIFont boldSystemFontOfSize:17];
  102. self.nameLabel.textAlignment = NSTextAlignmentLeft;
  103. [self.backImageView addSubview:self.nameLabel];
  104. [self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  105. make.left.equalTo(self.headerImageView.mas_right).offset(15);
  106. make.top.equalTo(self.headerImageView).offset(15);
  107. make.height.equalTo(@25);
  108. }];
  109. //当前等级图片
  110. self.myGradeView = [[UIImageView alloc] init];
  111. [self.backImageView addSubview:self.myGradeView];
  112. [self.myGradeView mas_makeConstraints:^(MASConstraintMaker *make) {
  113. make.left.equalTo(self.nameLabel.mas_right).offset(5);
  114. make.top.equalTo(self.nameLabel).offset(5);
  115. make.width.equalTo(@50);
  116. make.height.equalTo(@17);
  117. }];
  118. //当前等级
  119. self.leftGradeButton = [UIButton buttonWithType:UIButtonTypeCustom];
  120. self.leftGradeButton .layer.cornerRadius = 5;
  121. self.leftGradeButton .layer.masksToBounds = YES;
  122. self.leftGradeButton.backgroundColor = [UIColor brownColor];
  123. self.leftGradeButton.titleLabel.font = [UIFont systemFontOfSize:13];
  124. [self.backImageView addSubview:self.leftGradeButton];
  125. self.leftGradeButton.titleLabel.font = [UIFont systemFontOfSize:12];
  126. [self.leftGradeButton mas_makeConstraints:^(MASConstraintMaker *make) {
  127. make.left.equalTo(@35);
  128. make.top.equalTo(self.headerImageView.mas_bottom).offset(47);
  129. make.width.equalTo(@40);
  130. make.height.equalTo(@20);
  131. }];
  132. //下一级等级
  133. self.nextGradeButton = [UIButton buttonWithType:UIButtonTypeCustom];
  134. self.nextGradeButton .layer.cornerRadius = 5;
  135. self.nextGradeButton .layer.masksToBounds = YES;
  136. self.nextGradeButton.titleLabel.font = [UIFont systemFontOfSize:12];
  137. self.nextGradeButton.backgroundColor = [UIColor lightGrayColor];
  138. self.nextGradeButton.titleLabel.font = [UIFont systemFontOfSize:13];
  139. [self.backImageView addSubview:self.nextGradeButton];
  140. [self.nextGradeButton mas_makeConstraints:^(MASConstraintMaker *make) {
  141. make.right.equalTo(@-35);
  142. make.top.equalTo(self.headerImageView.mas_bottom).offset(47);
  143. make.width.equalTo(@40);
  144. make.height.equalTo(@20);
  145. }];
  146. //进度条背景图
  147. self.progressImageView = [[UIImageView alloc] init];
  148. self.progressImageView.image = [UIImage imageNamed:@"my_progress"];
  149. [self.backImageView addSubview:self.progressImageView];
  150. [self.progressImageView mas_makeConstraints:^(MASConstraintMaker *make) {
  151. make.left.equalTo(self.leftGradeButton.mas_right).offset(10);
  152. make.top.equalTo(self.leftGradeButton).offset(0);
  153. make.right.equalTo(self.nextGradeButton.mas_left).offset(-10);
  154. make.height.equalTo(@20);
  155. }];
  156. //当前进度
  157. self.currentProgressImageView = [[UIImageView alloc] init];
  158. self.currentProgressImageView.layer.cornerRadius=7;
  159. self.currentProgressImageView.backgroundColor = kRGBColor(222, 186, 152);
  160. [self.progressImageView addSubview:self.currentProgressImageView];
  161. [self.currentProgressImageView mas_makeConstraints:^(MASConstraintMaker *make) {
  162. make.left.equalTo(@0);
  163. make.top.equalTo(@1);
  164. make.height.equalTo(@14);
  165. }];
  166. // 进度值指示点图片
  167. // self.prgImageView = [[UIImageView alloc] init];
  168. // self.prgImageView.image = [UIImage imageNamed:@"组37"];
  169. // [self.backImageView addSubview:self.prgImageView];
  170. // [self.prgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
  171. // make.left.equalTo(self.leftGradeButton.mas_right).offset(10);
  172. // make.top.equalTo(self.headerImageView.mas_bottom).offset(42);
  173. // make.width.equalTo(@42);
  174. // make.height.equalTo(@25);
  175. //
  176. // }];
  177. //进度值
  178. self.progressLabel = [[UILabel alloc] init];
  179. self.progressLabel.textColor = [UIColor blackColor];
  180. self.progressLabel.textAlignment = NSTextAlignmentLeft;
  181. self.progressLabel.font = [UIFont systemFontOfSize:13];
  182. [self.backImageView addSubview:self.progressLabel];
  183. [self.progressLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  184. make.left.equalTo(self.leftGradeButton.mas_right).offset(10);
  185. make.top.equalTo(self.headerImageView.mas_bottom).offset(15);
  186. make.width.equalTo(@50);
  187. make.height.equalTo(@20);
  188. }];
  189. //三角形图片
  190. self.sanjiaoxingView = [[UIImageView alloc] init];
  191. self.sanjiaoxingView.image = [UIImage imageNamed:@"组38"];
  192. [self.backImageView addSubview:self.sanjiaoxingView];
  193. [self.sanjiaoxingView mas_makeConstraints:^(MASConstraintMaker *make) {
  194. make.left.equalTo(self.progressLabel).offset(0);
  195. make.top.equalTo(self.progressLabel.mas_bottom).offset(0);
  196. make.width.equalTo(@15);
  197. make.height.equalTo(@10);
  198. }];
  199. //点
  200. self.dianView = [[UIView alloc] init];
  201. self.dianView.layer.cornerRadius = 3;
  202. self.dianView.layer.masksToBounds = YES;
  203. self.dianView.backgroundColor = [UIColor grayColor];
  204. [self.backImageView addSubview:self.dianView];
  205. [self.dianView mas_makeConstraints:^(MASConstraintMaker *make) {
  206. make.left.equalTo(@35);
  207. make.top.equalTo(self.headerImageView.mas_bottom).offset(87);
  208. make.width.height.equalTo(@6);
  209. }];
  210. self.currentLabel = [[UILabel alloc] init];
  211. self.currentLabel.textAlignment = NSTextAlignmentLeft;
  212. self.currentLabel.textColor = [UIColor purpleColor];
  213. self.currentLabel.font = [UIFont systemFontOfSize:12];
  214. self.currentLabel.text = @"当前累计存款(元):";
  215. [self.backImageView addSubview:self.currentLabel];
  216. [self.currentLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  217. make.left.equalTo(self.dianView.mas_right).offset(3);
  218. make.top.equalTo(self.headerImageView.mas_bottom).offset(80);
  219. make.height.equalTo(@20);
  220. }];
  221. //当前累计存款值
  222. self.currentPriceLabel = [[UILabel alloc] init];
  223. self.currentPriceLabel.textAlignment = NSTextAlignmentLeft;
  224. self.currentPriceLabel.textColor = [UIColor blackColor];
  225. self.currentPriceLabel.font = [UIFont systemFontOfSize:12];
  226. [self.backImageView addSubview:self.currentPriceLabel];
  227. [self.currentPriceLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  228. make.left.equalTo(self.currentLabel.mas_right).offset(3);
  229. make.top.equalTo(self.headerImageView.mas_bottom).offset(80);
  230. make.height.equalTo(@20);
  231. }];
  232. }
  233. -(CGSize)titleBtnWight:(NSString *)titBtnW and:(UILabel *)titBtn {
  234. CGSize titleSize = [titBtnW boundingRectWithSize:CGSizeMake(MAXFLOAT, 17) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:titBtn.font} context:nil].size;
  235. return titleSize;
  236. }
  237. @end