Я настраиваю вид изображения по размеру и изменяю его размер после загрузки изображения, чтобы убрать лишние отступы сверху и снизу. То, что у меня работает, работает нормально, если первое изображение не занимает весь экран, оно обрезает второе изображение неправильно. Если я вернусь из экрана и вернусь в это исправлено. Есть идеи как это исправить? Я также добавил приблизительную высоту строки.
Внутри моей клетки:
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 с коротким изображением кадрирует это странно.
![aspect fit crop problem](https://i.stack.imgur.com/tAuim.png)