WFCUConversationSettingMemberCell.m 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. //
  2. // ConversationSettingMemberCell.m
  3. // WFChat UIKit
  4. //
  5. // Created by WF Chat on 2017/11/3.
  6. // Copyright © 2017年 WildFireChat. All rights reserved.
  7. //
  8. #import "WFCUConversationSettingMemberCell.h"
  9. #import "SDWebImage.h"
  10. #import <WFChatClient/WFCChatClient.h>
  11. #import "WFCUConfigManager.h"
  12. #import "UIFont+YH.h"
  13. #import "UIColor+YH.h"
  14. @interface WFCUConversationSettingMemberCell ()
  15. @property(nonatomic, strong) NSObject *model;
  16. @end
  17. @implementation WFCUConversationSettingMemberCell
  18. - (id)initWithFrame:(CGRect)frame {
  19. self = [super initWithFrame:frame];
  20. if (self) {
  21. }
  22. return self;
  23. }
  24. - (void)layoutSubviews {
  25. [super layoutSubviews];
  26. self.headerImageView.frame = CGRectMake(2, 2, self.frame.size.width - 4, self.frame.size.width - 4);
  27. self.nameLabel.frame = CGRectMake(0, self.frame.size.width + 3, self.frame.size.width, 11);
  28. }
  29. - (UILabel *)nameLabel {
  30. if (!_nameLabel) {
  31. _nameLabel = [[UILabel alloc] initWithFrame:CGRectZero];
  32. _nameLabel.textColor = [UIColor colorWithHexString:@"0x7d7d7d"];
  33. _nameLabel.textAlignment = NSTextAlignmentCenter;
  34. _nameLabel.backgroundColor = [UIColor clearColor];
  35. _nameLabel.font = [UIFont pingFangSCWithWeight:FontWeightStyleRegular size:11];
  36. [[self contentView] addSubview:_nameLabel];
  37. }
  38. return _nameLabel;
  39. }
  40. - (UIImageView *)headerImageView {
  41. if (!_headerImageView) {
  42. _headerImageView = [[UIImageView alloc] initWithFrame:CGRectZero];
  43. _headerImageView.autoresizingMask =
  44. UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
  45. _headerImageView.contentMode = UIViewContentModeScaleAspectFill;
  46. _headerImageView.clipsToBounds = YES;
  47. _headerImageView.layer.borderWidth = 1;
  48. _headerImageView.layer.borderColor = [UIColor whiteColor].CGColor;
  49. _headerImageView.layer.cornerRadius = 8;
  50. _headerImageView.layer.masksToBounds = YES;
  51. _headerImageView.backgroundColor = [UIColor clearColor];
  52. _headerImageView.layer.edgeAntialiasingMask =
  53. kCALayerLeftEdge | kCALayerRightEdge | kCALayerBottomEdge |
  54. kCALayerTopEdge;
  55. [[self contentView] addSubview:_headerImageView];
  56. }
  57. return _headerImageView;
  58. }
  59. - (void)setModel:(NSObject *)model withType:(WFCCConversationType)type {
  60. self.contentView.backgroundColor = [UIColor whiteColor];
  61. // self.nameLabel.textColor = [WFCUConfigManager globalManager].textColor;
  62. self.model = model;
  63. WFCCUserInfo *userInfo;
  64. WFCCGroupMember *groupMember;
  65. WFCCChannelInfo *channelInfo;
  66. if (type == Group_Type) {
  67. groupMember = (WFCCGroupMember *)model;
  68. userInfo = [[WFCCIMService sharedWFCIMService] getUserInfo:groupMember.memberId inGroup:groupMember.groupId refresh:NO];
  69. } else if(type == Single_Type) {
  70. userInfo = [[WFCCIMService sharedWFCIMService] getUserInfo:(NSString *)model refresh:NO];
  71. } else if(type == Channel_Type) {
  72. channelInfo = [[WFCCIMService sharedWFCIMService] getChannelInfo:(NSString *)model refresh:NO];
  73. } else {
  74. return;
  75. }
  76. if (type == Channel_Type) {
  77. [self.headerImageView sd_setImageWithURL:[NSURL URLWithString:[channelInfo.portrait stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]] placeholderImage:[UIImage imageNamed:@"PersonalChat"]];
  78. self.nameLabel.text = channelInfo.name;
  79. } else {
  80. [self.headerImageView sd_setImageWithURL:[NSURL URLWithString:[userInfo.portrait stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]] placeholderImage:[UIImage imageNamed:@"PersonalChat"]];
  81. if (userInfo.friendAlias.length) {
  82. self.nameLabel.text = userInfo.friendAlias;
  83. } else if(userInfo.groupAlias.length) {
  84. self.nameLabel.text = userInfo.groupAlias;
  85. } else if(userInfo.displayName.length) {
  86. self.nameLabel.text = userInfo.displayName;
  87. } else {
  88. self.nameLabel.text = nil;
  89. }
  90. }
  91. self.nameLabel.hidden = NO;
  92. }
  93. - (void)resetLayout:(CGFloat)nameLabelHeight
  94. insideMargin:(CGFloat)insideMargin {
  95. }
  96. @end