在storyBoard中的tableView单元格中设置相对于屏幕高度的collectionView高度

时间:2016-06-14 07:07:03

标签: ios uitableview swift2 constraints

我们可以设置一个约束,用于将故事板中的UICollectionView高度设置为设备屏幕的相对值吗?我可以将它设置为tableViewCell的高度但是如何设置屏幕高度?我想做的就是在屏幕高度和视图(在TableViewCell中)之间做一个相对约束,这样我就可以给它一半的设备屏幕高度

正如您在尺寸检查器中看到的,我可以将其视图的约束设置为其超级视图,即TableViewCell

enter image description here

1 个答案:

答案 0 :(得分:1)

您的约束条件很好,您必须将约束设置为" Equal Height"在两个视图之间,乘数为0.5,使值减半。如果视图1和视图2的顺序不正确(superview是collectionview的一半),则必须反转" First"和"第二"约束的观点。

从截图中我可以看到所有看起来都很好,但是你有一个约束冲突(红色箭头)。阅读它,看看有什么不对。

通常这意味着你有一个约束,说"做X"另一个说"做Y"并且是相互矛盾的。如果您从最后一个约束条件中了解它,请将其删除并思考"为什么",您将弄清楚它。如果您不知道它来自哪里,请在红色箭头子菜单中的给定选项之间进行选择。在您的情况下,它可能是以下内容:

  

您的集合视图设置为同时具有50%的高度和全高,因为您可能已设置"上下左右"和"身高"。在这里,你可以删除底部或顶部。

想象一下自己是Xcode,如果我告诉你将收藏视图放在哪里,左,右,顶部和高度,你不需要知道底部到达的位置,因为高度足够。如果您确实需要底部的约束,则必须将其设置为除Equal以外的其他值,或者具有较低的优先级。

有时它意味着您的视图没有所有必需的约束,例如"没有为collectionview"定义Y约束。只需确保在设置好高度后立即设置好所有内容。

同样,只有红色箭头菜单中的信息(冲突的约束)可以帮助我们轻松确定问题。我不会撒谎我不想手动从左侧菜单中读取所有约束。

但是有了这些信息,你应该自己解决这个问题。