| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- //
- // TUITextReplyQuoteViewData.m
- // TUIChat
- //
- // Created by harvy on 2021/11/25.
- // Copyright © 2023 Tencent. All rights reserved.
- //
- #import "TUITextReplyQuoteViewData.h"
- #import <TIMCommon/NSString+TUIEmoji.h>
- #import "TUITextMessageCellData.h"
- @implementation TUITextReplyQuoteViewData
- + (instancetype)getReplyQuoteViewData:(TUIMessageCellData *)originCellData {
- if (originCellData == nil) {
- return nil;
- }
- if (![originCellData isKindOfClass:TUITextMessageCellData.class]) {
- return nil;
- }
- TUITextReplyQuoteViewData *myData = [[TUITextReplyQuoteViewData alloc] init];
- myData.text = [(TUITextMessageCellData *)originCellData content];
- myData.originCellData = originCellData;
- return myData;
- }
- - (CGSize)contentSize:(CGFloat)maxWidth {
- NSAttributedString *attributeString = nil;
- BOOL showRevokeStr = (self.originCellData.innerMessage.status == V2TIM_MSG_STATUS_LOCAL_REVOKED) &&
- !self.showRevokedOriginMessage;
- if (showRevokeStr) {
- NSString * revokeStr = self.supportForReply?
- TIMCommonLocalizableString(TUIKitRepliesOriginMessageRevoke):
- TIMCommonLocalizableString(TUIKitReferenceOriginMessageRevoke);
- attributeString = [revokeStr getFormatEmojiStringWithFont:[UIFont systemFontOfSize:10.0] emojiLocations:nil];
- } else {
- attributeString = [self.text getFormatEmojiStringWithFont:[UIFont systemFontOfSize:10.0] emojiLocations:nil];
- }
-
- CGSize size = [@"0" sizeWithAttributes:@{NSFontAttributeName : [UIFont systemFontOfSize:10.0]}];
- CGRect rect = [attributeString boundingRectWithSize:CGSizeMake(maxWidth, size.height * 2)
- options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
- context:nil];
- CGFloat h = rect.size.height < size.height * 2 ? rect.size.height : size.height * 2;
- if (showRevokeStr && self.supportForReply) {
- h = size.height *2;
- }
- return CGSizeMake(rect.size.width, h);
- }
- @end
|