ASUserBaseInfoView.m 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. //
  2. // ASUserBaseInfoView.m
  3. // Asteria
  4. //
  5. // Created by iOS on 2023/5/15.
  6. //
  7. #import "ASUserBaseInfoView.h"
  8. #import "ASUserAvaterView.h"
  9. @interface ASUserBaseInfoView ()
  10. @property (nonatomic, strong) ASUserAvaterView *avaterV;
  11. @property (nonatomic, strong) UILabel *uNameLb;
  12. @property (nonatomic, strong) UILabel *emailLb;
  13. @property (nonatomic, strong) UIImageView *vipLevelV;
  14. @property (nonatomic, strong) UIStackView *stv;
  15. @end
  16. @implementation ASUserBaseInfoView
  17. - (void)setDemoData {
  18. [self.avaterV setUserHeadV:@"" uName:@"new"];//@"https://www.shijuepi.com/uploads/allimg/201103/1-201103104255.jpg"
  19. self.uNameLb.text = @"new";
  20. self.vipLevelV.image = [UIImage imageNamed:@"uc_vip_level_1"];
  21. self.uNameLb.text = @"new";
  22. self.emailLb.text = @"653462314@qq.com";
  23. self.usefualLb.text = @"300 points";
  24. }
  25. - (instancetype)initWithFrame:(CGRect)frame {
  26. self = [super initWithFrame:frame];
  27. if (self) {
  28. self.backgroundColor = UIColor.clearColor;
  29. [self loadSubV];
  30. [self setDemoData];
  31. }
  32. return self;
  33. }
  34. - (void)loadSubV {
  35. [self addSubview:self.avaterV];
  36. self.stv = [UIStackView baseStackV:true];
  37. self.stv.spacing = 4;
  38. self.stv.distribution = UIStackViewDistributionFill;
  39. [self addSubview:self.stv];
  40. [self.stv addArrangedSubview:self.uNameLb];
  41. [self.stv addArrangedSubview:self.emailLb];
  42. UIView *levelBgV = [UIView baseV];
  43. levelBgV.backgroundColor = UIColor.clearColor;
  44. [self.stv addArrangedSubview:levelBgV];
  45. [self.stv addArrangedSubview:self.usefualLb];
  46. [levelBgV mas_makeConstraints:^(MASConstraintMaker *make) {
  47. make.height.equalTo(@16);
  48. }];
  49. [levelBgV addSubview:self.vipLevelV];
  50. [self.vipLevelV mas_makeConstraints:^(MASConstraintMaker *make) {
  51. make.top.leading.bottom.equalTo(levelBgV);
  52. }];
  53. [self setSubVMas];
  54. }
  55. - (void)setSubVMas {
  56. [self.uNameLb mas_makeConstraints:^(MASConstraintMaker *make) {
  57. make.height.equalTo(@17);
  58. }];
  59. [self.emailLb mas_makeConstraints:^(MASConstraintMaker *make) {
  60. make.height.greaterThanOrEqualTo(@14);
  61. }];
  62. [self.usefualLb mas_makeConstraints:^(MASConstraintMaker *make) {
  63. make.height.equalTo(@17);
  64. }];
  65. [self.avaterV mas_makeConstraints:^(MASConstraintMaker *make) {
  66. make.width.height.equalTo(@100);
  67. make.top.leading.bottom.equalTo(self);
  68. }];
  69. [self.stv mas_makeConstraints:^(MASConstraintMaker *make) {
  70. make.top.equalTo(self.avaterV.mas_top).offset(10);
  71. make.leading.equalTo(self.avaterV.mas_trailing).offset(10);
  72. make.trailing.equalTo(self);
  73. make.bottom.equalTo(self.avaterV.mas_bottom).offset(-10);
  74. }];
  75. }
  76. - (void)reSetSubVMas {
  77. [self.uNameLb mas_makeConstraints:^(MASConstraintMaker *make) {
  78. make.height.equalTo(@22);
  79. }];
  80. [self.emailLb mas_makeConstraints:^(MASConstraintMaker *make) {
  81. make.height.equalTo(@17);
  82. }];
  83. [self.usefualLb mas_makeConstraints:^(MASConstraintMaker *make) {
  84. make.height.equalTo(@17);
  85. }];
  86. [self.avaterV setCorner:8];
  87. [self.avaterV mas_makeConstraints:^(MASConstraintMaker *make) {
  88. make.width.height.equalTo(@88);
  89. make.top.leading.bottom.equalTo(self);
  90. }];
  91. [self.stv mas_makeConstraints:^(MASConstraintMaker *make) {
  92. make.top.equalTo(self.avaterV.mas_top).offset(0);
  93. make.leading.equalTo(self.avaterV.mas_trailing).offset(10);
  94. make.trailing.equalTo(self);
  95. make.bottom.equalTo(self.avaterV.mas_bottom).offset(0);
  96. }];
  97. }
  98. - (UIImageView *)vipLevelV {
  99. if (!_vipLevelV) {
  100. UIImageView *v = [[UIImageView alloc] init];
  101. v.contentMode = UIViewContentModeScaleAspectFit;
  102. _vipLevelV = v;
  103. }
  104. return _vipLevelV;
  105. }
  106. - (ASUserAvaterView *)avaterV {
  107. if (!_avaterV) {
  108. ASUserAvaterView *v = [[ASUserAvaterView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
  109. _avaterV = v;
  110. }
  111. return _avaterV;
  112. }
  113. - (UILabel *)uNameLb {
  114. if (!_uNameLb) {
  115. UILabel *lb = [UILabel baseLb];
  116. lb.font = [UIFont fontWithName:Rob_Bold size:14];
  117. lb.textColor = Col_000;
  118. _uNameLb = lb;
  119. }
  120. return _uNameLb;
  121. }
  122. - (UILabel *)emailLb {
  123. if (!_emailLb) {
  124. UILabel *lb = [UILabel baseLb];
  125. lb.font = [UIFont fontWithName:Rob_Regular size:12];
  126. lb.textColor = Col_000;
  127. _emailLb = lb;
  128. }
  129. return _emailLb;
  130. }
  131. - (UILabel *)usefualLb {
  132. if (!_usefualLb) {
  133. UILabel *lb = [UILabel baseLb];
  134. lb.font = [UIFont fontWithName:Rob_Bold size:14];
  135. lb.textColor = Col_000;
  136. _usefualLb = lb;
  137. }
  138. return _usefualLb;
  139. }
  140. @end