Вставка картинки в collection view cell

У меня есть кастомная ячейка с xib’ом. В xib я вставил только UIImageView. Задаю размер ячейки через UICollectionViewDelegateFlowLayout, чтобы на каждой строчке было по 3 ячейки и вроде все получается правильно. Но когда я начинаю вставлять в UIImageView картинку размер ячейки увеличивается в несколько раз и ячейка становится огромной т.е до вставки картинки ячейки отображаются все правильно. Не понимаю какие констрейнты и настройки мне установить для uiimageview в моем cell xib’е. Пробовал ставить top,left,right,bottom, aspect fit и clip to bounds, но это не помогает. Что я делаю неправильно?


Ответы (1 шт):

Автор решения: schmidt9

Дело здесь скорее всего не в констрейнтах, если они установлены правильно. Попробуйте данный трюк

let layout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout
layout.estimatedItemSize = .zero

Работает с лейаутом по 3 ячейки в ряд

extension ViewController : UICollectionViewDelegateFlowLayout, UICollectionViewDelegate {

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        let screenWidth = UIScreen.main.bounds.width
        let itemSize = (screenWidth / 3) - 10

        return CGSize(width: itemSize, height: itemSize)
    }

}
→ Ссылка