首页 > 解决方案 > 如何让单元格中的内容视图占据整个单元格?

问题描述

我正在尝试创建一个水平堆栈视图并让它占据整个单元格宽度。我在这个水平堆栈视图中有两个垂直堆栈视图。我已将水平堆栈视图固定到超级视图的前缘和后缘,并将其垂直对齐到包含视图。当我在故事板链接中看到它时,它似乎看起来像预期的那样:https://imgur.com/a/6kFbhrC

但是当我运行它的右侧有这个间距https://imgur.com/sCEgwG3

我试图通过将背景设置为栗色来查看是否可以看到单元格内容视图的宽度。对我来说,它似乎是单元格的整个宽度,所以我不确定我在这里做错了什么。

更新:调整堆栈视图的宽度后。我不太确定这是否完全是 stackView 问题。为 stackview 设置固定宽度可以解决我在一个屏幕上的问题,但这不适用于所有屏幕,因此尝试将其限制在边缘。我最终把单元格中的所有东西都去掉了,只留下了标题标签。 剥离细胞

我将它集中在父视图上,但它仍然忽略了它的约束。 运行时视图 我猜自动布局会这样做。不太确定什么优先,并迫使它忽略我的限制。我查看了调试视图层次结构,它在 UILabel 上有一个紫色标签,表示位置不明确。 调试视图层次结构 我猜自动布局然后尽力修复它的位置。不确定这里有什么歧义。

更新 2:我不知道我设置的故事板约束有什么问题。我最终从控制器中删除了所有内容并从头开始。完成此操作后,它按预期工作。有时从头开始是最好的选择。

标签: iosswiftxcodeuitableviewautolayout

解决方案


您需要定义水平堆栈视图子项的宽度(两个垂直堆栈视图)。您可以将两个垂直堆栈视图的宽度设置为相等,这样它们将占用相等的空间并填充父级。

在此处输入图像描述


推荐阅读