我正在尝试调试 UI 中的自动布局冲突。
我已经使用 IB 设置了整个 UI。
我遇到的问题与名为 FrameCell
的 UICollectionView
子类中的对象有关。
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?!
如果我尝试在 Cell 中关闭 translatesAutoresizingMaskIntoConstraints
,我会收到内部一致性错误。我正在使用 IB 设置所有内容,所以我不确定这个 AutoResizingMask 是从哪里来的?
最佳答案
我想知道 IB 在处理 UICollectionViewCells 中的约束时是否会遇到与处理 UITableViewCells 时相同的问题?
请参阅@Adrians 对这个问题的回答:contentView not indenting in iOS 6 UITableViewCell prototype cell
关于ios - UICollectionViewCell 中的自动布局错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16650151/