我将图像视图设置为宽高比并在下载图像后调整其大小,以删除顶部和底部的额外填充。除非第一张图像没有填满整个屏幕,否则我的工作正常,它会错误地裁剪第二张图像。如果我退出屏幕并返回它是固定的。知道如何解决这个问题吗?我还添加了估计的行高。
在我的牢房里:
let mainImageUrl = URL(string: noteImage!.imageUrl)
self.noteImageView.kf.indicatorType = .activity
self.noteImageView.kf.setImage(with: mainImageUrl, completionHandler: {
(image, error, cacheType, imageUrl) in
if image != nil {
let constraint = NSLayoutConstraint(
item: self.noteImageView, attribute: NSLayoutAttribute.height,
relatedBy: NSLayoutRelation.equal,
toItem: self.contentView, attribute: NSLayoutAttribute.width,
multiplier: (image!.size.height - 30) / (image!.size.width), constant: 0.0)
self.contentView.addConstraint(constraint)
} else {
print("error downloading image")
}
})
这是它的样子,带有纵向高图像的场景 1 可以正常工作。带有短图像的场景 2 将其裁剪得很奇怪。