JXRoomMemberListCell.m 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. //
  2. // JXRoomMemberListCell.m
  3. // shiku_im
  4. //
  5. // Created by p on 2018/7/3.
  6. // Copyright © 2018年 Reese. All rights reserved.
  7. //
  8. #import "JXRoomMemberListCell.h"
  9. @interface JXRoomMemberListCell()
  10. @property (nonatomic, strong) JXImageView *headImageView;
  11. @property (nonatomic, strong) UILabel *roleLabel;
  12. @property (nonatomic, strong) UILabel *nameLabel;
  13. @end
  14. @implementation JXRoomMemberListCell
  15. - (void)awakeFromNib {
  16. [super awakeFromNib];
  17. // Initialization code
  18. }
  19. -(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
  20. self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
  21. if (self) {
  22. self.selectionStyle = UITableViewCellSelectionStyleNone;
  23. [self customView];
  24. }
  25. return self;
  26. }
  27. - (void)customView {
  28. _headImageView = [[JXImageView alloc]init];
  29. _headImageView.userInteractionEnabled = NO;
  30. _headImageView.delegate = self;
  31. // _headImageView.didTouch = @selector(headImageDidTouch);
  32. _headImageView.frame = CGRectMake(15,9.5,40,40);
  33. _headImageView.layer.cornerRadius = _headImageView.frame.size.width / 2;
  34. _headImageView.layer.masksToBounds = YES;
  35. _headImageView.layer.borderColor = [UIColor darkGrayColor].CGColor;
  36. [self.contentView addSubview:self.headImageView];
  37. _roleLabel = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMaxX(_headImageView.frame) + 10, 0, 50, 15)];
  38. _roleLabel.center = CGPointMake(_roleLabel.center.x, _headImageView.center.y);
  39. _roleLabel.textColor = [UIColor whiteColor];
  40. _roleLabel.textAlignment = NSTextAlignmentCenter;
  41. _roleLabel.text = Localized(@"JXGroup_RoleNormal");
  42. _roleLabel.font = [UIFont systemFontOfSize:10.0];
  43. _roleLabel.backgroundColor = HEXCOLOR(0x3db4ff);
  44. _roleLabel.layer.cornerRadius = 2.0;
  45. _roleLabel.layer.masksToBounds = YES;
  46. [self.contentView addSubview:_roleLabel];
  47. _nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMaxX(_roleLabel.frame) + 10, 0, 200, 20)];
  48. _nameLabel.center = CGPointMake(_nameLabel.center.x, _roleLabel.center.y);
  49. _nameLabel.font = [UIFont systemFontOfSize:16.0];
  50. [self.contentView addSubview:_nameLabel];
  51. _onlinStatus = [[UILabel alloc] initWithFrame:CGRectMake(JX_SCREEN_WIDTH - 60, 0, 40, 20)];
  52. _onlinStatus.center = CGPointMake(_onlinStatus.center.x, _roleLabel.center.y);
  53. _onlinStatus.text = @"在线";
  54. _onlinStatus.font = [UIFont systemFontOfSize:12.0];
  55. [self.contentView addSubview:_onlinStatus];
  56. _lineView = [[UIView alloc] initWithFrame:CGRectMake(65, 59 - LINE_WH, JX_SCREEN_WIDTH-65, LINE_WH)];
  57. _lineView.backgroundColor = THE_LINE_COLOR;
  58. [self.contentView addSubview:_lineView];
  59. }
  60. - (void)setData:(memberData *)data {
  61. _data = data;
  62. [g_server getHeadImageSmall:[NSString stringWithFormat:@"%ld", data.userId] userName:data.userNickName imageView:_headImageView];
  63. NSString *str = Localized(@"JXGroup_RoleNormal");
  64. _roleLabel.backgroundColor = HEXCOLOR(0x3db4ff);
  65. switch (self.role) {
  66. case 1:{
  67. str = Localized(@"JXGroup_Owner");
  68. _roleLabel.backgroundColor = HEXCOLOR(0xf9cd0a);
  69. }
  70. break;
  71. case 2:{
  72. str = Localized(@"JXGroup_Admin");
  73. _roleLabel.backgroundColor = HEXCOLOR(0x36d55c);
  74. }
  75. break;
  76. case 4:{ //隐身人
  77. str = Localized(@"JXInvisibleMan");
  78. _roleLabel.backgroundColor = HEXCOLOR(0x3db4ff);
  79. }
  80. break;
  81. case 5:{ //监控人
  82. str = Localized(@"JXMonitorPerson");
  83. _roleLabel.backgroundColor = HEXCOLOR(0x3db4ff);
  84. }
  85. break;
  86. default:
  87. break;
  88. }
  89. _roleLabel.text = str;
  90. CGSize size = [str boundingRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : _roleLabel.font} context:nil].size;
  91. _roleLabel.frame = CGRectMake(_roleLabel.frame.origin.x, _roleLabel.frame.origin.y, size.width + 5, _roleLabel.frame.size.height);
  92. _nameLabel.frame = CGRectMake(CGRectGetMaxX(_roleLabel.frame) + 10, _nameLabel.frame.origin.y, _nameLabel.frame.size.width, _nameLabel.frame.size.height);
  93. JXUserObject *allUser = [[JXUserObject alloc] init];
  94. allUser = [allUser getUserById:[NSString stringWithFormat:@"%ld",data.userId]];
  95. if ([_curManager isEqualToString:MY_USER_ID]) {
  96. _nameLabel.text = data.lordRemarkName.length > 0 ? data.lordRemarkName : allUser.remarkName.length > 0 ? allUser.remarkName : data.userNickName;
  97. }else {
  98. _nameLabel.text = allUser.remarkName.length > 0 ? allUser.remarkName : data.userNickName;
  99. }
  100. memberData *mData = [self.room getMember:g_myself.userId];
  101. if (!self.room.allowSendCard && [mData.role intValue] != 1 && [mData.role intValue] != 2) {
  102. _nameLabel.text = [_nameLabel.text substringToIndex:[_nameLabel.text length]-1];
  103. _nameLabel.text = [_nameLabel.text stringByAppendingString:@"*"];
  104. }
  105. }
  106. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  107. [super setSelected:selected animated:animated];
  108. // Configure the view for the selected state
  109. }
  110. @end