Как оценить высоту UITableViewCell в соответствии с высотой UIImageView - PullRequest
0 голосов
/ 26 ноября 2018

Я разрабатываю приложение чата.

Я хочу добавить функцию публикации изображений.

Ниже приведен пропущенный код.

class ImageCell: UITableViewCell {
    @IBOutlet private weak var contentImageView: UIImageView!
    @IBOutlet private weak var imageViewHeightConstraint: NSLayoutConstraint!

    func prepare(url: String) {
        contentImageView.kf.setImage(url: url) { image in 
            let height = self.contentImageView.bounds.width / image.size.width * image.size.height
            self.heightConstraint.constant = min(300, height)
            self.layoutIfNeeded()
        }
    }
}

prepare()вызывается с cellForRowAt из tableView

Однако высота TableViewCell не изменяется должным образом.

Как я могу решить эту проблему?

Спасибо.

PS

extension UIViewController: UITableViewDataSource {

    ffunc tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.elements.count
    }

     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ImageCell", for: indexPath)
        cell.prepare(url: elements[indexPath.row].url)
        return cell
    }
}

enter image description here

1 Ответ

0 голосов
/ 26 ноября 2018

Поместите ведущие, верхние, нижние и правые ограничения на UIImageView в ячейке.

Возвращает высоту изображения в методе heightForRow:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return image.size.height
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...