Минимальная высота для UICollectionView (Swift) - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь создать простой UICollectionView в Swift с пользовательским UICollectionViewCell.У меня есть следующий метод в моем UICollectionViewController, чтобы установить размер ячейки;

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    let width  = (collectionView.frame.width  / 3) - 10
    let height = CGFloat(170)

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


Затем я устанавливаю ограничения для ячейки следующим образом:

private func setImageViewConstraints() {
    itemImageView.translatesAutoresizingMaskIntoConstraints = false // enables Auto-Layout

    itemImageView.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true      // center horizontally
    itemImageView.topAnchor.constraint(equalTo: self.topAnchor, constant: 8).isActive = true // 8pt from top of cell

    // 1:1 Aspect Ratio
    itemImageView.widthAnchor.constraint(equalToConstant: (self.frame.width - 4)).isActive = true
    itemImageView.heightAnchor.constraint(equalTo: itemImageView.widthAnchor).isActive = true
}

private func setupLabelConstraints() {
    itemLabel.translatesAutoresizingMaskIntoConstraints = false

    itemLabel.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true

    itemLabel.leftAnchor.constraint(equalTo: itemImageView.leftAnchor, constant: 0).isActive = true
    itemLabel.rightAnchor.constraint(equalTo: itemImageView.rightAnchor, constant: 0).isActive = true

    itemLabel.topAnchor.constraint(equalTo: itemImageView.bottomAnchor, constant: 4).isActive = true
    itemLabel.bottomAnchor.constraint(equalTo: self.bottomAnchor, constant: -4).isActive = true
}


Однако высота ячейки варьируется в зависимости от высоты ее содержимого, например;

How my Collection View looks

Как установить высотуклетки так они все одинаковые?Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...