TUILinkCellData.m 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. //
  2. // MyCustomCellData.m
  3. // TUIKitDemo
  4. //
  5. // Created by annidyfeng on 2019/6/10.
  6. // Copyright © 2019 Tencent. All rights reserved.
  7. //
  8. #import "TUILinkCellData.h"
  9. @implementation TUILinkCellData
  10. + (TUIMessageCellData *)getCellData:(V2TIMMessage *)message {
  11. NSDictionary *param = [NSJSONSerialization JSONObjectWithData:message.customElem.data options:NSJSONReadingAllowFragments error:nil];
  12. TUILinkCellData *cellData = [[TUILinkCellData alloc] initWithDirection:message.isSelf ? MsgDirectionOutgoing : MsgDirectionIncoming];
  13. cellData.msgID = message.msgID;
  14. cellData.text = param[@"text"];
  15. cellData.link = param[@"link"];
  16. cellData.avatarUrl = [NSURL URLWithString:message.faceURL];
  17. return cellData;
  18. }
  19. + (NSString *)getDisplayString:(V2TIMMessage *)message {
  20. NSDictionary *param = [NSJSONSerialization JSONObjectWithData:message.customElem.data options:NSJSONReadingAllowFragments error:nil];
  21. return param[@"text"];
  22. }
  23. - (CGSize)contentSize {
  24. CGFloat textMaxWidth = 245.f;
  25. CGRect rect = [self.text boundingRectWithSize:CGSizeMake(textMaxWidth, MAXFLOAT)
  26. options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
  27. attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:15]}
  28. context:nil];
  29. CGSize size = CGSizeMake(textMaxWidth + 15, rect.size.height + 56);
  30. return size;
  31. }
  32. @end