公屏贵族消息气泡比例优化
This commit is contained in:
@@ -46,11 +46,11 @@
|
||||
[self.bubbleImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.top.mas_equalTo(self.contentView);
|
||||
make.bottom.mas_equalTo(self.contentView).offset(-10);
|
||||
make.right.mas_equalTo(self.contentLabel).offset(5);
|
||||
make.right.mas_equalTo(self.contentLabel).offset(10);
|
||||
}];
|
||||
|
||||
[self.contentLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.bubbleImageView).offset(5);
|
||||
make.left.mas_equalTo(self.bubbleImageView).offset(8);
|
||||
make.centerY.mas_equalTo(self.bubbleImageView);
|
||||
}];
|
||||
}
|
||||
@@ -58,10 +58,10 @@
|
||||
#pragma mark - tool
|
||||
- (UIImage*)resizableImage:(UIImage *)image {
|
||||
//图片拉伸区域
|
||||
CGFloat top = image.size.height / 2 - 0.5;
|
||||
CGFloat left = image.size.width / 2 - 0.5;
|
||||
CGFloat right = image.size.width / 2 + 0.5;
|
||||
CGFloat bottom = image.size.height / 2 + 0.5;
|
||||
CGFloat top = image.size.height / 2 - 1;
|
||||
CGFloat left = image.size.width / 2 - 1;
|
||||
CGFloat right = image.size.width / 2 + 1;
|
||||
CGFloat bottom = image.size.height / 2 + 1;
|
||||
return [image resizableImageWithCapInsets:UIEdgeInsetsMake(top, left, bottom, right) resizingMode:UIImageResizingModeStretch];
|
||||
}
|
||||
|
||||
@@ -75,11 +75,30 @@
|
||||
_bubbleImageUrl = bubbleImageUrl;
|
||||
if (bubbleImageUrl.length) {
|
||||
[self.bubbleImageView loadImageWithUrl:bubbleImageUrl completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
|
||||
self.bubbleImageView.image = [self resizableImage:image];
|
||||
UIImage *tempImage = [self scaleToSize:image];
|
||||
self.bubbleImageView.image = [self resizableImage:tempImage];
|
||||
}];
|
||||
} else {
|
||||
self.bubbleImageView.image = [UIImage imageWithColor:[ThemeColor messageBubbleColor]];
|
||||
}
|
||||
}
|
||||
|
||||
- (UIImage *)scaleToSize:(UIImage *)img {
|
||||
// 创建一个bitmap的context
|
||||
// 并把它设置成为当前正在使用的context
|
||||
CGFloat width = img.size.width * 0.5;
|
||||
CGFloat height = img.size.height * 0.5;
|
||||
UIGraphicsBeginImageContextWithOptions(CGSizeMake(width, height), NO, 1);
|
||||
// 绘制改变大小的图片
|
||||
[img drawInRect:CGRectMake(0, 0, width, height)];
|
||||
// 从当前context中创建一个改变大小后的图片
|
||||
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
|
||||
// 使当前的context出堆栈
|
||||
UIGraphicsEndImageContext();
|
||||
// 返回新的改变大小后的图片
|
||||
return scaledImage;
|
||||
}
|
||||
|
||||
- (NetImageView *)bubbleImageView {
|
||||
if (!_bubbleImageView) {
|
||||
_bubbleImageView = [[NetImageView alloc] init];
|
||||
@@ -95,7 +114,7 @@
|
||||
- (XPNetImageYYLabel *)contentLabel {
|
||||
if (!_contentLabel) {
|
||||
_contentLabel = [[XPNetImageYYLabel alloc] init];
|
||||
_contentLabel.preferredMaxLayoutWidth = kRoomMessageMaxWidth - 10;
|
||||
_contentLabel.preferredMaxLayoutWidth = kRoomMessageMaxWidth - 18;
|
||||
_contentLabel.numberOfLines = 0;
|
||||
_contentLabel.userInteractionEnabled = YES;
|
||||
}
|
||||
|
Reference in New Issue
Block a user