Я предполагаю, что вы повторно набрали свой код (вместо вставки фактического кода), так как у вас есть coverView. bottomAnchor , равный contentView. leadAnchor , а также добавление indexUnitLabel
как подпредставление, но затем пытается ограничить titleLabel
...
Итак, ваши ограничения должны выглядеть следующим образом:
NSLayoutConstraint.activate([
coverView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor),
coverView.topAnchor.constraint(equalTo: contentView.topAnchor),
coverView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor),
coverView.widthAnchor.constraint(equalToConstant: 68),
indexUnitLabel.topAnchor.constraint(equalTo: contentView.topAnchor, constant: padding),
indexUnitLabel.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: -padding),
indexUnitLabel.leadingAnchor.constraint(equalTo: coverView.trailingAnchor, constant: padding),
indexUnitLabel.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -padding)
])
НО .. . , который не дает авторазметке достаточно информации о том, что вы хотите сделать с высотой ячейки.
Вы говорите, что хотите высота надписи (плюс padding), чтобы определить высоту ячейки, поэтому добавьте эту строку:
indexUnitLabel.setContentHuggingPriority(.required, for: .vertical)
, которая сообщает автоматическое расположение для , а не , чтобы увеличить высоту метки за пределы его содержание.