| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- //
- // TUIOrderCell.m
- // TUIChat
- //
- // Created by xia on 2022/6/13.
- // Copyright © 2023 Tencent. All rights reserved.
- //
- #import "TUIOrderCell.h"
- #import <TUICore/TUIGlobalization.h>
- #import <TUICore/TUIThemeManager.h>
- @implementation TUIOrderCell
- - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
- self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
- if (self) {
- _titleLabel = [[UILabel alloc] init];
- _titleLabel.font = [UIFont boldSystemFontOfSize:12];
- _titleLabel.textColor = TUIChatDynamicColor(@"chat_text_message_receive_text_color", @"#000000");
- _titleLabel.lineBreakMode = NSLineBreakByTruncatingTail;
- [self.container addSubview:_titleLabel];
- _descLabel = [[UILabel alloc] init];
- _descLabel.font = [UIFont systemFontOfSize:12];
- _descLabel.numberOfLines = 1;
- _descLabel.lineBreakMode = NSLineBreakByTruncatingTail;
- _descLabel.textColor = TUIChatDynamicColor(@"chat_custom_order_message_desc_color", @"#999999");
- [self.container addSubview:_descLabel];
- _priceLabel = [[UILabel alloc] init];
- _priceLabel.font = [UIFont boldSystemFontOfSize:18];
- _priceLabel.lineBreakMode = NSLineBreakByTruncatingTail;
- _priceLabel.textColor = TUIChatDynamicColor(@"chat_custom_order_message_price_color", @"#FF7201");
- [self.container addSubview:_priceLabel];
- _iconView = [[UIImageView alloc] init];
- _iconView.layer.cornerRadius = 8.0;
- _iconView.layer.masksToBounds = YES;
- [self.container addSubview:_iconView];
- }
- return self;
- }
- - (void)fillWithData:(TUIOrderCellData *)data {
- [super fillWithData:data];
- self.customData = data;
- self.titleLabel.text = data.title;
- self.descLabel.text = data.desc;
- self.priceLabel.text = data.price;
- if (data.imageUrl == nil) {
- [self.iconView setImage:TUIChatBundleThemeImage(@"chat_custom_order_message_img", @"message_custom_order")];
- } else {
- [self.iconView setImage:[UIImage sd_imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:data.imageUrl]]]];
- }
- // tell constraints they need updating
- [self setNeedsUpdateConstraints];
- // update constraints now so we can animate the change
- [self updateConstraintsIfNeeded];
- [self layoutIfNeeded];
- }
- + (BOOL)requiresConstraintBasedLayout {
- return YES;
- }
- // this is Apple's recommended place for adding/updating constraints
- - (void)updateConstraints {
-
- [super updateConstraints];
-
- [self.iconView mas_remakeConstraints:^(MASConstraintMaker *make) {
- make.top.mas_equalTo(10);
- make.leading.mas_equalTo(12);
- make.width.mas_equalTo(60);
- make.height.mas_equalTo(60);
- }];
- [self.titleLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
- make.top.mas_equalTo(10);
- make.leading.mas_equalTo(80);
- make.width.mas_equalTo(150);
- make.height.mas_equalTo(17);
- }];
-
- [self.descLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
- make.top.mas_equalTo(30);
- make.leading.mas_equalTo(80);
- make.width.mas_equalTo(150);
- make.height.mas_equalTo(17);
- }];
-
- [self.priceLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
- make.top.mas_equalTo(49);
- make.leading.mas_equalTo(80);
- make.width.mas_equalTo(150);
- make.height.mas_equalTo(25);
- }];
- }
- - (void)layoutSubviews {
- [super layoutSubviews];
- }
- #pragma mark - TUIMessageCellProtocol
- + (CGSize)getContentSize:(TUIMessageCellData *)data {
- CGSize size = CGSizeMake(245, 80);
- return size;
- }
- @end
|