Я пытаюсь отлаживать конфликт автоматического макета в моем пользовательском интерфейсе.Ошибка автоматического макета в UICollectionViewCell
Я установил весь пользовательский интерфейс, используя IB.
Проблема, связанная с объектами внутри подкласса UICollectionView
, называется FrameCell
.
FrameCell
имеет UIImageView
и UILabel
, которые расположены по центру в горизонтальной плоскости.
и вертикальные ограничения, как это ...
V:|-20-[UIImageView]-50-[UILabel(==26)]-25-|
т.е. высота UIImageView
варьируется в зависимости от размера ячейки.
Однако я получаю ошибку ...
(
"<NSAutoresizingMaskLayoutConstraint:0x20087d00 h=--& v=--& V:[FrameCell:0x1edaf4a0(0)]>",
"<NSLayoutConstraint:0x1edafc10 UIImageView:0x1edaf960.top == FrameCell:0x1edaf4a0.top + 20>",
"<NSLayoutConstraint:0x1edafb50 FrameCell:0x1edaf4a0.bottom == UILabel:0x1edaf5c0.bottom + 25>",
"<NSLayoutConstraint:0x1edafb10 V:[UIImageView:0x1edaf960]-(50)-[UILabel:0x1edaf5c0]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x1edafb10 V:[UIImageView:0x1edaf960]-(50)-[UILabel:0x1edaf5c0]>
ошибка почти наверняка идет от NSAutoresizingMaskLayoutConstraint, но я не знаю, как избавиться от этого ?! Почему бы установить высоту FrameCell на 0 ?!
Если я пытаюсь отключить translatesAutoresizingMaskIntoConstraints
в ячейке, я получаю ошибку внутреннего согласования. Я настраиваю все на использование IB, поэтому я не уверен, откуда эта AutoResizingMask?
Как и где вы определили, какой должна быть высота каждой ячейки в представлении коллекции? Похоже, что где-то это происходит не так и говорит вашей ячейке, чтобы она была равна нулю – jrturton
У меня есть настраиваемый макет потока, и я устанавливаю itemSize в 220x220. – Fogmeister