TUIMergeReplyQuoteViewData.m 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. //
  2. // TUIMergeReplyQuoteViewData.m
  3. // TUIChat
  4. //
  5. // Created by harvy on 2021/11/25.
  6. // Copyright © 2023 Tencent. All rights reserved.
  7. //
  8. #import "TUIMergeReplyQuoteViewData.h"
  9. #import <TIMCommon/NSString+TUIEmoji.h>
  10. #import "TUIMergeMessageCellData.h"
  11. @implementation TUIMergeReplyQuoteViewData
  12. + (instancetype)getReplyQuoteViewData:(TUIMessageCellData *)originCellData {
  13. if (originCellData == nil) {
  14. return nil;
  15. }
  16. if (![originCellData isKindOfClass:TUIMergeMessageCellData.class]) {
  17. return nil;
  18. }
  19. TUIMergeReplyQuoteViewData *myData = [[TUIMergeReplyQuoteViewData alloc] init];
  20. myData.title = [(TUIMergeMessageCellData *)originCellData title];
  21. NSAttributedString *abstract = [(TUIMergeMessageCellData *)originCellData abstractAttributedString];
  22. myData.abstract = abstract.string;
  23. myData.originCellData = originCellData;
  24. return myData;
  25. }
  26. - (CGSize)contentSize:(CGFloat)maxWidth {
  27. CGFloat singleHeight = [UIFont systemFontOfSize:10.0].lineHeight;
  28. NSAttributedString *titleAttributeString = [self.title getFormatEmojiStringWithFont:[UIFont systemFontOfSize:10.0] emojiLocations:nil];
  29. CGRect titleRect = [titleAttributeString boundingRectWithSize:CGSizeMake(maxWidth, singleHeight)
  30. options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
  31. context:nil];
  32. CGFloat width = titleRect.size.width;
  33. CGFloat height = titleRect.size.height;
  34. return CGSizeMake(MIN(width, maxWidth), height);
  35. }
  36. @end