TUIVoiceReplyQuoteViewData.m 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //
  2. // TUIVoiceReplyQuoteViewData.m
  3. // TUIChat
  4. //
  5. // Created by harvy on 2021/11/25.
  6. // Copyright © 2023 Tencent. All rights reserved.
  7. //
  8. #import "TUIVoiceReplyQuoteViewData.h"
  9. #import <TIMCommon/NSString+TUIEmoji.h>
  10. #import <TUICore/TUIThemeManager.h>
  11. #import "TUIVoiceMessageCellData.h"
  12. @implementation TUIVoiceReplyQuoteViewData
  13. + (instancetype)getReplyQuoteViewData:(TUIMessageCellData *)originCellData {
  14. if (originCellData == nil) {
  15. return nil;
  16. }
  17. if (![originCellData isKindOfClass:TUIVoiceMessageCellData.class]) {
  18. return nil;
  19. }
  20. TUIVoiceReplyQuoteViewData *myData = [[TUIVoiceReplyQuoteViewData alloc] init];
  21. myData.text = [NSString stringWithFormat:@"%d\"", [(TUIVoiceMessageCellData *)originCellData duration]];
  22. myData.icon = TUIChatCommonBundleImage(@"voice_reply");
  23. myData.originCellData = originCellData;
  24. return myData;
  25. }
  26. - (CGSize)contentSize:(CGFloat)maxWidth {
  27. CGFloat marginWidth = 18;
  28. CGSize size = [@"0" sizeWithAttributes:@{NSFontAttributeName : [UIFont systemFontOfSize:10.0]}];
  29. CGRect rect = [self.text boundingRectWithSize:CGSizeMake(maxWidth - marginWidth, size.height)
  30. options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
  31. attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:10.0]}
  32. context:nil];
  33. return CGSizeMake(rect.size.width + marginWidth, size.height);
  34. }
  35. @end