MORankTopThreeView.m 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. //
  2. // MORankTopThreeView.m
  3. // MiMoLive
  4. //
  5. // Created by MiMo on 2025/6/18.
  6. //
  7. #import "MORankTopThreeView.h"
  8. @interface MORankTopThreeView ()
  9. @property (nonatomic, strong) UILabel *titleLabel;
  10. @property (nonatomic, strong) UIImageView *bgImgView;
  11. @property (nonatomic, strong) UIImageView *firstAvatarView;
  12. @property (nonatomic, strong) UIImageView *firstFrameView;
  13. @property (nonatomic, strong) UIImageView *secondAvatarView;
  14. @property (nonatomic, strong) UIImageView *secondFrameView;
  15. @property (nonatomic, strong) UIImageView *thirdAvatarView;
  16. @property (nonatomic, strong) UIImageView *thirdFrameView;
  17. @end
  18. @implementation MORankTopThreeView
  19. - (instancetype)init {
  20. if (self = [super init]) {
  21. [self setupUI];
  22. }
  23. return self;
  24. }
  25. - (void)setupUI {
  26. [self addSubview:self.bgImgView];
  27. [self.bgImgView mas_makeConstraints:^(MASConstraintMaker *make) {
  28. make.edges.mas_equalTo(0);
  29. }];
  30. [self addSubview:self.secondAvatarView];
  31. [self.secondAvatarView mas_makeConstraints:^(MASConstraintMaker *make) {
  32. make.left.mas_equalTo(kScaleWidth(6));
  33. make.size.mas_equalTo(CGSizeMake(26, 26));
  34. make.bottom.mas_equalTo(-kScaleWidth(38));
  35. }];
  36. [self addSubview:self.secondFrameView];
  37. [self.secondFrameView mas_makeConstraints:^(MASConstraintMaker *make) {
  38. make.center.equalTo(self.secondAvatarView);
  39. make.size.mas_equalTo(CGSizeMake(44, 44));
  40. }];
  41. [self addSubview:self.firstAvatarView];
  42. [self.firstAvatarView mas_makeConstraints:^(MASConstraintMaker *make) {
  43. make.centerX.mas_equalTo(0);
  44. make.size.mas_equalTo(CGSizeMake(26, 26));
  45. make.bottom.mas_equalTo(-kScaleWidth(49));
  46. }];
  47. [self addSubview:self.firstFrameView];
  48. [self.firstFrameView mas_makeConstraints:^(MASConstraintMaker *make) {
  49. make.center.equalTo(self.firstAvatarView);
  50. make.size.mas_equalTo(CGSizeMake(44, 44));
  51. }];
  52. [self addSubview:self.thirdAvatarView];
  53. [self.thirdAvatarView mas_makeConstraints:^(MASConstraintMaker *make) {
  54. make.right.mas_equalTo(-kScaleWidth(6));
  55. make.size.mas_equalTo(CGSizeMake(26, 26));
  56. make.bottom.mas_equalTo(-kScaleWidth(38));
  57. }];
  58. [self addSubview:self.thirdFrameView];
  59. [self.thirdFrameView mas_makeConstraints:^(MASConstraintMaker *make) {
  60. make.center.equalTo(self.thirdAvatarView);
  61. make.size.mas_equalTo(CGSizeMake(44, 44));
  62. }];
  63. [self addSubview:self.titleLabel];
  64. [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  65. make.top.left.mas_equalTo(8);
  66. make.right.mas_equalTo(-8);
  67. }];
  68. }
  69. - (void)setData:(NSArray *)data {
  70. _data = [data copy];
  71. for (int x = 0; x < data.count; x ++) {
  72. MOUserBase *userBase = data[x];
  73. if(x == 0){
  74. [self.firstAvatarView sd_setImageWithURL:[NSURL URLWithString:userBase.avatar] placeholderImage:[UIImage imageNamed:@"icon_mine_placeHolder"]];
  75. }
  76. else if (x == 1){
  77. [self.secondAvatarView sd_setImageWithURL:[NSURL URLWithString:userBase.avatar] placeholderImage:[UIImage imageNamed:@"icon_mine_placeHolder"]];
  78. }
  79. else if (x == 2){
  80. [self.thirdAvatarView sd_setImageWithURL:[NSURL URLWithString:userBase.avatar] placeholderImage:[UIImage imageNamed:@"icon_mine_placeHolder"]];
  81. }
  82. }
  83. }
  84. - (void)setViewType:(MORankTopThreeViewType)viewType {
  85. _viewType = viewType;
  86. if (viewType == MORankTopViewTypeRevenue) {//收入
  87. self.titleLabel.text = NSLocalString(@"C60005");
  88. self.bgImgView.image = [UIImage imageNamed:@"img_revenue_rank_bg"];
  89. } else if (viewType == MORankTopViewTypeFamily) {//家族
  90. // self.bgImgView.image = [UIImage imageNamed:@"img_revenue_rank_bg"];
  91. } else if (viewType == MORankTopViewTypeWealth) {//财富
  92. self.titleLabel.text = NSLocalString(@"C60002");
  93. self.bgImgView.image = [UIImage imageNamed:@"img_wealth_rank_bg"];
  94. } else if (viewType == MORankTopViewTypePk) {//pk
  95. self.titleLabel.text = NSLocalString(@"C60004");
  96. self.bgImgView.image = [UIImage imageNamed:@"img_pk_rank_bg"];
  97. }
  98. }
  99. #pragma mark - Lazy
  100. - (UILabel *)titleLabel {
  101. if (!_titleLabel) {
  102. _titleLabel = [[UILabel alloc] init];
  103. _titleLabel.font = [MOTextTools poppinsBoldItalicFont:16];
  104. _titleLabel.textColor = [MOTools colorWithHexString:@"#FFFFFF"];
  105. _titleLabel.numberOfLines = 0;
  106. }
  107. return _titleLabel;
  108. }
  109. - (UIImageView *)bgImgView{
  110. if(!_bgImgView){
  111. _bgImgView = [[UIImageView alloc] init];
  112. _bgImgView.contentMode = UIViewContentModeScaleAspectFill;
  113. }
  114. return _bgImgView;
  115. }
  116. - (UIImageView *)firstAvatarView {
  117. if(!_firstAvatarView){
  118. _firstAvatarView = [[UIImageView alloc] init];
  119. _firstAvatarView.contentMode = UIViewContentModeScaleAspectFill;
  120. _firstAvatarView.layer.masksToBounds = YES;
  121. _firstAvatarView.layer.cornerRadius = 13;
  122. _firstAvatarView.image = [UIImage imageNamed:@"icon_rank_none"];
  123. }
  124. return _firstAvatarView;
  125. }
  126. - (UIImageView *)firstFrameView {
  127. if(!_firstFrameView){
  128. _firstFrameView = [[UIImageView alloc] init];
  129. _firstFrameView.contentMode = UIViewContentModeScaleAspectFill;
  130. _firstFrameView.image = [UIImage imageNamed:@"icon_frame_no1"];
  131. }
  132. return _firstFrameView;
  133. }
  134. - (UIImageView *)secondAvatarView {
  135. if(!_secondAvatarView){
  136. _secondAvatarView = [[UIImageView alloc] init];
  137. _secondAvatarView.contentMode = UIViewContentModeScaleAspectFill;
  138. _secondAvatarView.layer.masksToBounds = YES;
  139. _secondAvatarView.layer.cornerRadius = 13;
  140. _secondAvatarView.image = [UIImage imageNamed:@"icon_rank_none"];
  141. }
  142. return _secondAvatarView;
  143. }
  144. - (UIImageView *)secondFrameView {
  145. if(!_secondFrameView){
  146. _secondFrameView = [[UIImageView alloc] init];
  147. _secondFrameView.contentMode = UIViewContentModeScaleAspectFill;
  148. _secondFrameView.image = [UIImage imageNamed:@"icon_frame_no2"];
  149. }
  150. return _secondFrameView;
  151. }
  152. - (UIImageView *)thirdAvatarView {
  153. if(!_thirdAvatarView){
  154. _thirdAvatarView = [[UIImageView alloc] init];
  155. _thirdAvatarView.contentMode = UIViewContentModeScaleAspectFill;
  156. _thirdAvatarView.layer.masksToBounds = YES;
  157. _thirdAvatarView.layer.cornerRadius = 13;
  158. _thirdAvatarView.image = [UIImage imageNamed:@"icon_rank_none"];
  159. }
  160. return _thirdAvatarView;
  161. }
  162. - (UIImageView *)thirdFrameView {
  163. if(!_thirdFrameView){
  164. _thirdFrameView = [[UIImageView alloc] init];
  165. _thirdFrameView.contentMode = UIViewContentModeScaleAspectFill;
  166. _thirdFrameView.image = [UIImage imageNamed:@"icon_frame_no3"];
  167. }
  168. return _thirdFrameView;
  169. }
  170. @end