当应用约束条件时,UITableView单元格的宽度没有改变 xcode storyboard。

问题描述 投票:0回答:1

我正在使用一个自定义的tableview单元格和自动布局,但我面临以下错误,我尝试应用不同的约束条件,使宽度被拉伸,但发现没有成功。谁能帮帮我,如何调整约束条件,使单元格填满整个屏幕的宽度?

我试过添加尾部约束和等宽约束,但没有获得成功

enter image description here


编辑1:

我根据建议试了一下,得到的结果是:

enter image description here

而在预览中,它向我展示了这个 And in the preview it's showing me this.

enter image description here


编辑2:

同样的错误也出现在另一个版面上

在这里,它是

enter image description here

增加的约束条件是

enter image description here

以及更小的屏幕尺寸的预览

enter image description here

tableview外的所有元素都得到了正确的缩放,错误发生在tableview内的元素上,错误是单元格的宽度没有根据屏幕大小进行调整。

请你帮我解决这个问题好吗?


编辑3

这是约束条件和输出的彩色背景,以便更好的理解,我还是没有找到解决的办法,不明白为什么不能用,有谁能帮帮我吗?

限制条件。

enter image description here

在预览窗口输出。

enter image description here


编辑4:

我创建了一个简单的布局,使其更容易解决这个问题。

enter image description here

而输出

enter image description here

主要问题是宽度不缩放,好像不明白为什么......


编辑5.我在iPhone SE上做了同样的布局,那么这些都是结果,我已经用了上面编辑4中的约束条件。

当我在iPhone SE上做同样的布局时,结果是这样的,我使用了与编辑4相同的约束条件。

enter image description here

在表视图单元格内,约束似乎不起作用。谁能告诉我如何解决这个问题?谅谅

ios swift xcode uistoryboard ios-autolayout
1个回答
3
投票

从你的 编辑5,我相信你是想要这样的东西。

编辑5 SEEdit5 XR

这是XR和SE的截图。1. 让你的单元格自动计算高度。你只需要对单元格内的项目施加约束。2. 在UITableViewCell中,添加一个UIView(background color: Yellow),约束条件为top,bottom,leading,trailing等于0.如果你不想让它等于默认的行高,就给这个视图一个固定的高度。3. 在这个黄色的UIView中,添加另一个UIView(background color: Green),约束条件为leading=10,trailing=10。将这个绿色的UIView标记为 "在容器中垂直居中",作为它的父节点,即黄色的UIView。现在,赋予绿色UIView与黄色UIView等高的约束条件。你可以根据你的需要改变它的倍数。

Edit5的约束条件。编辑5的约束

此外,对于您的 编辑1根据我的理解,您没有将内容拥抱优先权应用于时间标签。当可用的内容大于内容的总大小时,内容拥抱优先权就会发挥作用,这里,可用内容=屏幕宽度,内容的总大小=标题+时间。在这里,可用内容=屏幕的宽度,内容的总大小=标题+时间。所以,你需要将时间的内容拥抱优先级设置为高,标题的内容拥抱优先级设置为低,这样标题标签才能在屏幕上展开。优先级高的那个标签会被挤压,即紧紧拥抱它的内容。

我已经附上了XR和SE的屏幕截图。编辑1 SE编辑1 XR

编辑1的约束。Edit1 Constr


1
投票

首先,在tableviewCell上取一个UIView,并将leading,trailing,Top,Bottom改为0,然后设计你的上层视图。时间 标签。


1
投票

enter image description here

如果在这个层次结构中为单元格添加了视图,那么在所有设备上都能正常工作。

请检查所添加的约束条件。

© www.soinside.com 2019 - 2024. All rights reserved.