Как исправить UIImageView Aspect Fit после загрузки - PullRequest
0 голосов
/ 04 мая 2018

Я настраиваю вид изображения по размеру и изменяю его размер после загрузки изображения, чтобы убрать лишние отступы сверху и снизу. То, что у меня работает, работает нормально, если первое изображение не занимает весь экран, оно обрезает второе изображение неправильно. Если я вернусь из экрана и вернусь в это исправлено. Есть идеи как это исправить? Я также добавил приблизительную высоту строки.

Внутри моей клетки:

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

...