ChatAtMemberCell.m 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. //
  2. // ChatAtMemberCell.m
  3. // AIIM
  4. //
  5. // Created by qitewei on 2025/5/29.
  6. //
  7. #import "ChatAtMemberCell.h"
  8. @implementation ChatAtMemberCell
  9. - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
  10. if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
  11. self.selectionStyle = UITableViewCellSelectionStyleNone;
  12. self.contentView.backgroundColor = UIColor.whiteColor;
  13. [self configUI];
  14. }
  15. return self;
  16. }
  17. - (void)configUI{
  18. [self.contentView addSubview:self.avatar];
  19. [self.contentView addSubview:self.nickNameLbl];
  20. [self.contentView addSubview:self.selectedStateBtn];
  21. [self.avatar mas_makeConstraints:^(MASConstraintMaker *make) {
  22. make.size.mas_equalTo(CGSizeMake(48, 48));
  23. make.left.mas_equalTo(20);
  24. make.top.mas_equalTo(16);
  25. make.bottom.mas_equalTo(-16);
  26. }];
  27. [self.nickNameLbl mas_makeConstraints:^(MASConstraintMaker *make) {
  28. make.height.mas_equalTo(16);
  29. make.left.mas_equalTo(self.avatar.mas_right).offset(20);
  30. make.centerY.mas_equalTo(self.avatar.mas_centerY);
  31. }];
  32. [self.selectedStateBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  33. make.size.mas_equalTo(CGSizeMake(16, 16));
  34. make.left.mas_equalTo(12);
  35. make.centerY.mas_equalTo(self.contentView.mas_centerY);
  36. }];
  37. }
  38. - (void)setMemberDict:(NSDictionary *)memberDict{
  39. _memberDict = memberDict;
  40. [_avatar sd_setImageWithURL:getURL(memberDict[@"avatar"])];
  41. _nickNameLbl.text = memberDict[@"name"];
  42. }
  43. - (void)setIsBatchMode:(BOOL)isBatchMode{
  44. _isBatchMode = isBatchMode;
  45. self.selectedStateBtn.hidden = !isBatchMode;
  46. if (isBatchMode) {
  47. [_avatar mas_remakeConstraints:^(MASConstraintMaker *make) {
  48. make.size.mas_equalTo(CGSizeMake(48, 48));
  49. make.left.mas_equalTo(46);
  50. make.top.mas_equalTo(16);
  51. make.bottom.mas_equalTo(-16);
  52. }];
  53. }else{
  54. [_avatar mas_remakeConstraints:^(MASConstraintMaker *make) {
  55. make.size.mas_equalTo(CGSizeMake(48, 48));
  56. make.left.mas_equalTo(20);
  57. make.top.mas_equalTo(16);
  58. make.bottom.mas_equalTo(-16);
  59. }];
  60. }
  61. }
  62. #pragma mark lazy
  63. - (UIImageView *)avatar{
  64. if (!_avatar) {
  65. _avatar = [[UIImageView alloc] init];
  66. _avatar.contentMode = UIViewContentModeScaleAspectFill;
  67. _avatar.layer.cornerRadius = 10.f;
  68. _avatar.layer.masksToBounds = YES;
  69. }
  70. return _avatar;
  71. }
  72. - (UILabel *)nickNameLbl{
  73. if (!_nickNameLbl) {
  74. _nickNameLbl = [[UILabel alloc] init];
  75. _nickNameLbl.font = SYSFONT(16);
  76. _nickNameLbl.textColor = UIColor.blackColor;
  77. }
  78. return _nickNameLbl;
  79. }
  80. - (UIButton *)selectedStateBtn{
  81. if (!_selectedStateBtn) {
  82. _selectedStateBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  83. [_selectedStateBtn setImage:kImageMake(@"file_unselected") forState:UIControlStateNormal];
  84. [_selectedStateBtn setImage:kImageMake(@"file_selected") forState:UIControlStateSelected];
  85. _selectedStateBtn.hidden = YES;
  86. }
  87. return _selectedStateBtn;
  88. }
  89. @end