67 lines
1.8 KiB
Mathematica
67 lines
1.8 KiB
Mathematica
|
|
//
|
||
|
|
// 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
|