0

我正在尝试在我的 UI 中调试自动布局冲突。

我已经使用 IB 设置了整个 UI。

我遇到的问题与UICollectionView名为FrameCell.

FrameCellaUIImageView和 aUILabel都在单元格中水平居中。

垂直约束是这样的......

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 来自哪里?

4

2 回答 2

2

我想知道 IB 在处理 UICollectionViewCells 中的约束时是否会遇到与 UITableViewCells 相同的问题?

请参阅@Adrians 对这个问题的回答:contentView not indenting in iOS 6 UITableViewCell prototype cell

于 2013-05-20T14:54:57.043 回答
1

请尝试一下,如果您想修复标签大小而不是使用,这可能会对您有所帮助 ==

 V:|-20-[UIImageView]-50-[UILabel(==26)]-25-|
于 2013-05-20T13:13:56.020 回答