Я пытаюсь создать простой 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
}
Однако высота ячейки варьируется в зависимости от высоты ее содержимого, например;
Как установить высотуклетки так они все одинаковые?Спасибо!