JXAddressBookCell.m 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. //
  2. // JXAddressBookCell.m
  3. // shiku_im
  4. //
  5. // Created by p on 2018/8/30.
  6. // Copyright © 2018年 Reese. All rights reserved.
  7. //
  8. #import "JXAddressBookCell.h"
  9. @implementation JXAddressBookCell
  10. - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
  11. self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
  12. if (self) {
  13. _checkBox = [[QCheckBox alloc] initWithDelegate:self];
  14. _checkBox.frame = CGRectMake(15, 22, 20, 20);
  15. _checkBox.delegate = self;
  16. [self.contentView addSubview:_checkBox];
  17. _headImage = [[JXImageView alloc]init];
  18. _headImage.userInteractionEnabled = NO;
  19. _headImage.tag = self.index;
  20. _headImage.delegate = self;
  21. _headImage.didTouch = @selector(headImageDidTouch);
  22. _headImage.frame = CGRectMake(CGRectGetMaxX(_checkBox.frame) + 10,5,52,52);
  23. _headImage.layer.cornerRadius = 26;
  24. _headImage.layer.masksToBounds = YES;
  25. // _headImageView.layer.borderWidth = 0.5;
  26. _headImage.layer.borderColor = [UIColor darkGrayColor].CGColor;
  27. [self.contentView addSubview:self.headImage];
  28. _nickName = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMaxX(_headImage.frame) + 10, 10, 300, 20)];
  29. _nickName.textColor = HEXCOLOR(0x333333);
  30. _nickName.userInteractionEnabled = NO;
  31. _nickName.text = @"张辉";
  32. _nickName.backgroundColor = [UIColor clearColor];
  33. _nickName.font = [UIFont systemFontOfSize:16];
  34. _nickName.tag = self.index;
  35. [self.contentView addSubview:_nickName];
  36. _name = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMaxX(_headImage.frame) + 10, CGRectGetMaxY(_nickName.frame) + 5, 300, 20)];
  37. _name.textColor = HEXCOLOR(0x999999);
  38. _name.userInteractionEnabled = NO;
  39. _name.text = @"张辉";
  40. _name.backgroundColor = [UIColor clearColor];
  41. _name.font = [UIFont systemFontOfSize:14];
  42. _name.tag = self.index;
  43. [self.contentView addSubview:_name];
  44. _addBtn = [[UIButton alloc] initWithFrame:CGRectMake(JX_SCREEN_WIDTH-70, 20, 50, 24)];
  45. [_addBtn setBackgroundColor:THEMECOLOR];
  46. [_addBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  47. [_addBtn setTitleColor:[HEXCOLOR(0x333333) colorWithAlphaComponent:0.3] forState:UIControlStateDisabled];
  48. _addBtn.titleLabel.textColor = [UIColor whiteColor];
  49. _addBtn.titleLabel.font = [UIFont systemFontOfSize:15.0];
  50. [_addBtn setTitle:Localized(@"JX_Add") forState:UIControlStateNormal];
  51. [_addBtn setTitle:Localized(@"JX_AlreadyAdded") forState:UIControlStateDisabled];
  52. [_addBtn addTarget:self action:@selector(addBtnAction:) forControlEvents:UIControlEventTouchUpInside];
  53. _addBtn.layer.cornerRadius = 3.0;
  54. _addBtn.layer.masksToBounds = YES;
  55. [self.contentView addSubview:_addBtn];
  56. _lineView = [[UIView alloc] initWithFrame:CGRectMake(CGRectGetMinX(_nickName.frame), 63.5, JX_SCREEN_WIDTH-CGRectGetMinX(_nickName.frame), LINE_WH)];
  57. _lineView.backgroundColor = THE_LINE_COLOR;
  58. [self.contentView addSubview:_lineView];
  59. }
  60. return self;
  61. }
  62. - (void)setAddressBook:(JXAddressBook *)addressBook {
  63. _addressBook = addressBook;
  64. JXUserObject *user = [[JXUserObject sharedInstance] getUserById:addressBook.toUserId];
  65. if ([user.status intValue] == 2 || [user.status intValue] == -1) {
  66. _addBtn.enabled = NO;
  67. _addBtn.backgroundColor = [UIColor clearColor];
  68. _nickName.textColor = [HEXCOLOR(0x333333) colorWithAlphaComponent:0.3];
  69. _name.textColor = [HEXCOLOR(0x333333) colorWithAlphaComponent:0.3];
  70. }else {
  71. _addBtn.enabled = YES;
  72. _addBtn.backgroundColor = THEMECOLOR;
  73. _nickName.textColor = HEXCOLOR(0x333333);
  74. _name.textColor = HEXCOLOR(0x999999);
  75. }
  76. if (self.isShowSelect) {
  77. if (_addBtn.enabled) {
  78. self.checkBox.hidden = NO;
  79. }else {
  80. self.checkBox.hidden = YES;
  81. }
  82. self.addBtn.hidden = YES;
  83. _headImage.frame = CGRectMake(CGRectGetMaxX(self.checkBox.frame) + 10, _headImage.frame.origin.y, _headImage.frame.size.width, _headImage.frame.size.height);
  84. _nickName.frame = CGRectMake(CGRectGetMaxX(self.headImage.frame) + 10, _nickName.frame.origin.y, _nickName.frame.size.width, _nickName.frame.size.height);
  85. _name.frame = CGRectMake(CGRectGetMaxX(self.headImage.frame) + 10, _name.frame.origin.y, _name.frame.size.width, _name.frame.size.height);
  86. }else {
  87. self.checkBox.hidden = YES;
  88. self.addBtn.hidden = NO;
  89. _headImage.frame = CGRectMake(15, _headImage.frame.origin.y, _headImage.frame.size.width, _headImage.frame.size.height);
  90. _nickName.frame = CGRectMake(CGRectGetMaxX(self.headImage.frame) + 10, _nickName.frame.origin.y, _nickName.frame.size.width, _nickName.frame.size.height);
  91. _name.frame = CGRectMake(CGRectGetMaxX(self.headImage.frame) + 10, _name.frame.origin.y, _name.frame.size.width, _name.frame.size.height);
  92. }
  93. [g_server getHeadImageSmall:addressBook.toUserId userName:addressBook.addressBookName imageView:_headImage];
  94. _name.text = [NSString stringWithFormat:@"%@:%@",APP_NAME,addressBook.toUserName];
  95. _nickName.text = addressBook.addressBookName;
  96. _lineView.frame = CGRectMake(CGRectGetMinX(_nickName.frame), _lineView.frame.origin.y, JX_SCREEN_WIDTH-CGRectGetMinX(_nickName.frame), _lineView.frame.size.height);
  97. if (self.isInvite) {
  98. _addBtn.enabled = YES;
  99. [_addBtn setTitle:Localized(@"JX_TheInvitation") forState:UIControlStateNormal];
  100. [g_server getHeadImageSmall:nil userName:addressBook.addressBookName imageView:_headImage];
  101. _nickName.text = addressBook.addressBookName;
  102. _name.text = addressBook.toTelephone;
  103. }
  104. }
  105. - (void)didSelectedCheckBox:(QCheckBox *)checkbox checked:(BOOL)checked{
  106. if ([self.delegate respondsToSelector:@selector(addressBookCell:checkBoxSelectIndexNum:isSelect:)]) {
  107. [self.delegate addressBookCell:self checkBoxSelectIndexNum:self.index isSelect:checked];
  108. }
  109. }
  110. - (void)addBtnAction:(UIButton *)btn {
  111. if ([self.delegate respondsToSelector:@selector(addressBookCell:addBtnAction:)]) {
  112. [self.delegate addressBookCell:self addBtnAction:self.addressBook];
  113. }
  114. }
  115. - (void)headImageDidTouch {
  116. }
  117. - (void)awakeFromNib {
  118. [super awakeFromNib];
  119. // Initialization code
  120. }
  121. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  122. [super setSelected:selected animated:animated];
  123. // Configure the view for the selected state
  124. }
  125. @end