Files
benmy--tlchat/TLChat/AppControlCenter/TLMessageCenter/TLMessage/TLTextMessage.m
T
2026-07-13 12:35:01 +08:00

74 lines
1.5 KiB
Objective-C

//
// TLTextMessage.m
// TLChat
//
// Created by libokun on 16/3/28.
// Copyright © 2016年 李伯坤. All rights reserved.
//
#import "TLTextMessage.h"
#import "NSString+Message.h"
static UILabel *textLabel = nil;
@implementation TLTextMessage
@synthesize text = _text;
- (id)init
{
if (self = [super init]) {
[self setMessageType:TLMessageTypeText];
if (textLabel == nil) {
textLabel = [[UILabel alloc] init];
[textLabel setFont:[UIFont fontTextMessageText]];
[textLabel setNumberOfLines:0];
}
}
return self;
}
- (NSString *)text
{
if (_text == nil) {
_text = [self.content objectForKey:@"text"];
}
return _text;
}
- (void)setText:(NSString *)text
{
_text = text;
[self.content setObject:text forKey:@"text"];
}
- (NSAttributedString *)attrText
{
if (_attrText == nil) {
_attrText = [self.text toMessageString];
}
return _attrText;
}
- (TLMessageFrame *)messageFrame
{
if (kMessageFrame == nil) {
kMessageFrame = [[TLMessageFrame alloc] init];
kMessageFrame.height = 20 + (self.showTime ? 30 : 0) + (self.showName ? 15 : 0) + 20;
[textLabel setAttributedText:self.attrText];
kMessageFrame.contentSize = [textLabel sizeThatFits:CGSizeMake(MAX_MESSAGE_WIDTH, MAXFLOAT)];
kMessageFrame.height += kMessageFrame.contentSize.height;
}
return kMessageFrame;
}
- (NSString *)conversationContent
{
return self.text;
}
- (NSString *)messageCopy
{
return self.text;
}
@end