【发布时间】:2015-08-26 02:37:31
【问题描述】:
我有一个带有 UICollectionView 的 ViewController。在情节提要中,我已经布置了单元格。
到我添加的单元格:
- 图像视图
- 图像视图嵌套在容器内
- 然后我在容器下面有一个标签
然后我在情节提要中添加了自动布局约束:
当我运行模拟器时,这不起作用。我认为它不起作用,因为我使用的是自定义单元格。因此,我通过为所有约束设置 IBOutlets 并在 cellForItemAtIndexPath 方法中重置它们的值来修复它并使其正常运行:
//Layout cell
cell.img_Height.constant = 50
cell.img_Width.constant = 50
cell.leading_Img_to_Container.constant = 10
cell.trailing_Img_to_Container.constant = 10
cell.top_Img_to_Container.constant = 10
cell.bottom_Img_to_Container.constant = 10
cell.top_Container_to_Cell.constant = 10
cell.bottom_Container_to_Label.constant = 0
cell.horizontalCenter_Container_to_Cell.constant = 0
cell.bottom_Label_to_Cell.constant = 0 //Flexible constraint: In storyboard this relation is 'Greater than or equal to'
cell.horizontalCenter_Container_to_Label.constant = 0
当我运行应用程序时,集合视图看起来不错。但是,当我检查控制台时,它说它正在打破约束:
无法同时满足约束。 以下列表中的至少一个约束可能是您不想要的。试试这个:(1)查看每个约束并尝试找出您不期望的; (2) 找到添加了一个或多个不需要的约束的代码并修复它。 (注意:如果您看到不理解的 NSAutoresizingMaskLayoutConstraints,请参阅 UIView 属性 translatesAutoresizingMaskIntoConstraints 的文档) ( "", "", "", "", "", "= UILabel:0x7fc0026d2580'杂货清单'.bottom>", “” ) 将尝试通过打破约束来恢复 NSLayoutConstraint:0x7fc0026ba9d0 V:[UIImageView:0x7fc0026d2440(50)]>
我一直在调整约束并尝试调试它,但我无法弄清楚我做错了什么。如何正确设置布局?
【问题讨论】:
标签: ios swift autolayout uicollectionview uicollectionviewlayout