WFCUConversationSettingMemberCell.m 4.2 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. self.backgroundColor = [WFCUConfigManager globalManager].backgroudColor;
  22. }
  23. return self;
  24. }
  25. - (void)layoutSubviews {
  26. [super layoutSubviews];
  27. self.headerImageView.frame = CGRectMake(2, 2, self.frame.size.width - 4, self.frame.size.width - 4);
  28. self.nameLabel.frame = CGRectMake(0, self.frame.size.width + 3, self.frame.size.width, 11);
  29. }
  30. - (UILabel *)nameLabel {
  31. if (!_nameLabel) {
  32. _nameLabel = [[UILabel alloc] initWithFrame:CGRectZero];
  33. _nameLabel.textColor = [WFCUConfigManager globalManager].textColor;
  34. _nameLabel.textAlignment = NSTextAlignmentCenter;
  35. _nameLabel.backgroundColor = [WFCUConfigManager globalManager].backgroudColor;
  36. _nameLabel.font = [UIFont pingFangSCWithWeight:FontWeightStyleRegular size:11];
  37. [[self contentView] addSubview:_nameLabel];
  38. }
  39. return _nameLabel;
  40. }
  41. - (UIImageView *)headerImageView {
  42. if (!_headerImageView) {
  43. _headerImageView = [[UIImageView alloc] initWithFrame:CGRectZero];
  44. _headerImageView.autoresizingMask =
  45. UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
  46. _headerImageView.contentMode = UIViewContentModeScaleAspectFill;
  47. _headerImageView.clipsToBounds = YES;
  48. _headerImageView.layer.borderWidth = 1;
  49. _headerImageView.layer.borderColor = [UIColor whiteColor].CGColor;
  50. _headerImageView.layer.cornerRadius = 8;
  51. _headerImageView.layer.masksToBounds = YES;
  52. _headerImageView.backgroundColor = [UIColor clearColor];
  53. _headerImageView.layer.edgeAntialiasingMask =
  54. kCALayerLeftEdge | kCALayerRightEdge | kCALayerBottomEdge |
  55. kCALayerTopEdge;
  56. [[self contentView] addSubview:_headerImageView];
  57. }
  58. return _headerImageView;
  59. }
  60. - (void)setModel:(NSObject *)model withType:(WFCCConversationType)type {
  61. self.contentView.backgroundColor = [WFCUConfigManager globalManager].backgroudColor;
  62. // self.nameLabel.textColor = [WFCUConfigManager globalManager].textColor;
  63. self.model = model;
  64. WFCCUserInfo *userInfo;
  65. WFCCGroupMember *groupMember;
  66. WFCCChannelInfo *channelInfo;
  67. if (type == Group_Type) {
  68. groupMember = (WFCCGroupMember *)model;
  69. userInfo = [[WFCCIMService sharedWFCIMService] getUserInfo:groupMember.memberId inGroup:groupMember.groupId refresh:NO];
  70. } else if(type == Single_Type) {
  71. userInfo = [[WFCCIMService sharedWFCIMService] getUserInfo:(NSString *)model refresh:NO];
  72. } else if(type == Channel_Type) {
  73. channelInfo = [[WFCCIMService sharedWFCIMService] getChannelInfo:(NSString *)model refresh:NO];
  74. } else {
  75. return;
  76. }
  77. if (type == Channel_Type) {
  78. [self.headerImageView sd_setImageWithURL:[NSURL URLWithString:[channelInfo.portrait stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]] placeholderImage:[UIImage imageNamed:@"PersonalChat"]];
  79. self.nameLabel.text = channelInfo.name;
  80. } else {
  81. [self.headerImageView sd_setImageWithURL:[NSURL URLWithString:[userInfo.portrait stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]] placeholderImage:[UIImage imageNamed:@"PersonalChat"]];
  82. if (userInfo.friendAlias.length) {
  83. self.nameLabel.text = userInfo.friendAlias;
  84. } else if(userInfo.groupAlias.length) {
  85. self.nameLabel.text = userInfo.groupAlias;
  86. } else if(userInfo.displayName.length) {
  87. self.nameLabel.text = userInfo.displayName;
  88. } else {
  89. self.nameLabel.text = nil;
  90. }
  91. }
  92. self.nameLabel.hidden = NO;
  93. }
  94. - (void)resetLayout:(CGFloat)nameLabelHeight
  95. insideMargin:(CGFloat)insideMargin {
  96. }
  97. @end