MOSelectMemberListCell.m 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. //
  2. // MOSelectMemberListCell.m
  3. // MiMoLive
  4. //
  5. // Created by SuperC on 2023/11/20.
  6. //
  7. #import "MOSelectMemberListCell.h"
  8. @implementation MOSelectMemberListCell
  9. - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
  10. self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
  11. if (self != nil) {
  12. self.selectionStyle = UITableViewCellSelectionStyleNone;
  13. self.backgroundColor = [UIColor clearColor];
  14. [self setupUI];
  15. }
  16. return self;
  17. }
  18. - (void)setupUI{
  19. [self.contentView addSubview:self.selectBtn];
  20. [self.selectBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  21. make.width.height.equalTo(@17.0);
  22. make.right.equalTo(self.contentView).offset(-8.0);
  23. make.centerY.equalTo(self.contentView.mas_centerY);
  24. }];
  25. [self.selectBtn setBackgroundImage:[UIImage imageNamed:@"icon_share_no_select"] forState:UIControlStateNormal];
  26. [self.selectBtn setBackgroundImage:[UIImage imageNamed:@"icon_share_select"] forState:UIControlStateSelected];
  27. [self.contentView addSubview:self.bgView];
  28. [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
  29. make.left.equalTo(self.contentView).offset(10.0);
  30. make.right.equalTo(self.selectBtn.mas_left).offset(-8.0);
  31. make.top.bottom.equalTo(self.contentView);
  32. }];
  33. [self.bgView addSubview:self.headImg];
  34. [self.headImg mas_makeConstraints:^(MASConstraintMaker *make) {
  35. make.left.equalTo(self.bgView).offset(16.0);
  36. make.centerY.equalTo(self.bgView.mas_centerY);
  37. make.height.width.equalTo(@48.0);
  38. }];
  39. [self.bgView addSubview:self.nameLab];
  40. [self.nameLab mas_makeConstraints:^(MASConstraintMaker *make) {
  41. make.top.equalTo(self.headImg.mas_top).offset(0.0);
  42. make.left.equalTo(self.headImg.mas_right).offset(12.0);
  43. make.width.greaterThanOrEqualTo(@39.0);
  44. make.height.equalTo(@(20.0));
  45. }];
  46. [self.bgView addSubview:self.genderImg];
  47. [self.genderImg mas_makeConstraints:^(MASConstraintMaker *make) {
  48. make.left.equalTo(self.nameLab.mas_right).offset(3.0);
  49. make.height.width.equalTo(@20.0);
  50. make.centerY.equalTo(self.nameLab.mas_centerY);
  51. }];
  52. }
  53. - (void)awakeFromNib {
  54. [super awakeFromNib];
  55. // Initialization code
  56. }
  57. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  58. [super setSelected:selected animated:animated];
  59. // Configure the view for the selected state
  60. }
  61. - (void)setModel:(MOPersonList *)model{
  62. _model = model;
  63. self.genderImg.hidden = NO;
  64. [self.headImg sd_setImageWithURL:[NSURL URLWithString:model.userBase.userProfile.avatar] placeholderImage:[UIImage imageNamed:@"icon_mine_placeHolder"]];
  65. if(model.userBase.remark.length > 0){
  66. self.nameLab.text = model.userBase.remark;
  67. }
  68. else{
  69. self.nameLab.text = model.userBase.userProfile.nickname;
  70. }
  71. if(model.userBase.userProfile.gender == 1){
  72. [self.genderImg setImage:[UIImage imageNamed:@"icon_contact_man"]];
  73. }
  74. else if (model.userBase.userProfile.gender == 2){
  75. [self.genderImg setImage:[UIImage imageNamed:@"icon_contact_woman"]];
  76. }
  77. else{
  78. self.genderImg.hidden = YES;
  79. }
  80. self.selectBtn.selected = model.isChoose;
  81. }
  82. #pragma mark - Lazy
  83. - (UIView *)bgView
  84. {
  85. if (_bgView == nil)
  86. {
  87. _bgView = [UIView new];
  88. _bgView.backgroundColor = [MOTools colorWithHexString:@"#333333" alpha:0.5];
  89. _bgView.layer.cornerRadius = 12.0;
  90. _bgView.layer.masksToBounds = YES;
  91. // _bgView.userInteractionEnabled = NO;
  92. }
  93. return _bgView;
  94. }
  95. - (UIImageView *)headImg{
  96. if (!_headImg)
  97. {
  98. _headImg = [[UIImageView alloc] init];
  99. _headImg.clipsToBounds = YES;
  100. _headImg.contentMode = UIViewContentModeScaleAspectFill;
  101. _headImg.layer.cornerRadius = 48.0 / 2;
  102. _headImg.layer.masksToBounds = YES;
  103. }
  104. return _headImg;
  105. }
  106. - (UILabel *)nameLab{
  107. if (!_nameLab)
  108. {
  109. _nameLab = [[UILabel alloc] init];
  110. _nameLab.text = @"";
  111. _nameLab.font = [UIFont systemFontOfSize:14.0];
  112. _nameLab.textColor = [MOTools colorWithHexString:@"#E4E4E4" alpha:1.0];
  113. _nameLab.textAlignment = NSTextAlignmentLeft;
  114. }
  115. return _nameLab;
  116. }
  117. - (UIImageView *)genderImg{
  118. if(!_genderImg){
  119. _genderImg = [[UIImageView alloc] init];
  120. }
  121. return _genderImg;
  122. }
  123. - (BigBtn *)selectBtn{
  124. if (!_selectBtn)
  125. {
  126. _selectBtn = [BigBtn buttonWithType:UIButtonTypeCustom];
  127. _selectBtn.backgroundColor = [UIColor clearColor];
  128. _selectBtn.imageView.contentMode = UIViewContentModeScaleAspectFill;
  129. _selectBtn.imageView.layer.masksToBounds = YES;
  130. _selectBtn.userInteractionEnabled = NO;
  131. }
  132. return _selectBtn;
  133. }
  134. @end