Files
midi_ios/TUIKit/TUIChat/UI_Classic/Cell/Reply/TUIImageReplyQuoteView.m
2025-08-14 10:07:49 +08:00

67 lines
1.8 KiB
Objective-C

//
// TUIImageReplyQuoteView.m
// TUIChat
//
// Created by harvy on 2021/11/25.
// Copyright © 2023 Tencent. All rights reserved.
//
#import "TUIImageReplyQuoteView.h"
#import "TUIImageReplyQuoteViewData.h"
@implementation TUIImageReplyQuoteView
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
_imageView = [[UIImageView alloc] init];
_imageView.frame = CGRectMake(0, 0, 60, 60);
[self addSubview:_imageView];
}
return self;
}
- (void)fillWithData:(TUIReplyQuoteViewData *)data {
[super fillWithData:data];
if (![data isKindOfClass:TUIImageReplyQuoteViewData.class]) {
return;
}
TUIImageReplyQuoteViewData *myData = (TUIImageReplyQuoteViewData *)data;
self.imageView.image = myData.image;
if (myData.image == nil && myData.imageStatus != TUIImageReplyQuoteStatusDownloading) {
[myData downloadImage];
}
// 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];
TUIImageReplyQuoteViewData *myData = (TUIImageReplyQuoteViewData *)self.data;
[self.imageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self);
make.top.mas_equalTo(self);
make.size.mas_equalTo(myData.imageSize);
}];
}
- (void)reset {
[super reset];
self.imageView.image = nil;
self.imageView.frame = CGRectMake(self.imageView.frame.origin.x, self.imageView.frame.origin.y, 60, 60);
}
@end