我使用 SDWebImage 设置图像是这样的:
[self.imageView sd_setImageWithURL:topicModel.large_image]
placeholderImage:nil
options:0
progress:^(NSInteger receivedSize, NSInteger expectedSize) {
} completed:^(UIImage *image,
NSError *error,
SDImageCacheType cacheType,
NSURL *imageURL) {
}];
在此之后,我像这样设置 imageView 的 contentMode:
if (topicModel.isBigPicture) {
self.imageView.contentMode = UIViewContentModeTop;
self.imageView.clipsToBounds = YES;
}else {
self.imageView.contentMode = UIViewContentModeScaleAspectFill;
self.imageView.clipsToBounds = NO;
}
imageView 的大小是 (355, 200),
图片的大小比imageView 大,宽高都大。
众所周知,
如果topicModel是bigPicture,那么contentMode就是UIViewContentModeTop。UIViewContentModeTop 保持相同大小,只是调整了位置。
但是我发现问题了?
在我的情况下,图像的大小将转换为 (300, XXX),XXX 似乎是通过 (image.realHeight * 300.0 / image.realWidth) 计算的,
实际上我并没有在我的项目中更改图像的大小。
这是我的问题:
我的代码有什么问题?
如何使图像的宽度与imageView的宽度相同?