如何在 iPhone12 自动布局 Xcode 上更正另一个重叠的容器

How to correct container overlapping another on iPhone12 autolayout Xcode

提问人:Summer 提问时间:6/30/2021 最后编辑:Summer 更新时间:7/4/2021 访问量:54

问:

我在 Xcode 12.4 中使用自动布局。我有 3 个 UI 视图(蓝色、橙色和棕色以简化)

在 iPhone 12 上,包含表格的棕色在 iPhone 12 上表现得很奇怪,尽管将约束设置为 0,但文本还是被橙色 UI 视图截断。

它不会在其他 iPhone 尺寸上被切断。我唯一能够想出的解决方法是在棕色和橙色之间添加一个空格(1.15 乘数),并在后面添加一个彩色块以隐藏其他设备尺寸上有空间的事实。有没有更好的方法来解决这个问题,以便它在容器之间有 0 个空间,并且在所有设备上都能很好地工作,没有重叠?

注意:滚动文本是显示在底部的文本,并不总是使用,因此在特定时间打开或关闭约束。请忽略,因为它们暂时处于关闭状态,没有任何影响

enter image description here enter image description here

在 iPhone 12 上运行的示例问题:0 空格但表头被截断(应该在橙色“通用机器”文本上方显示“JT24”,但隐藏在另一个视图下?enter image description here

它应该是什么样子,但我必须添加 1.15 乘数空间才能让它工作......不幸的是,它会导致所有其他设备尺寸的差距。enter image description here

Xcode AutoLayout 容器

评论

0赞 DonMag 6/30/2021
很难理解您的布局以及可能出现的问题。您似乎将“表格容器视图棕色”限制为“滚动文本容器视图”,但您没有显示该布局。你还说“棕色容器......被橙色容器切断了“---但我们在您的屏幕帽中看不到这一点?您是否曾经在运行时检查布局?Debug View Hierarchy
0赞 DonMag 6/30/2021
此外,您描述了“容器视图”......你在 Storyboard 中使用吗?或者这些是您在运行时添加子视图的简单内容吗?UIContainerViewUIView
0赞 Summer 7/4/2021
嗨,他们是UIViews..很抱歉造成混乱!我添加了两张图片来显示我在运行时所说的内容。我也尝试过调试视图层次结构,但我是新手。据我所知,没有看到任何异常!
0赞 DonMag 7/5/2021
“正在运行”的屏幕帽似乎与情节提要布局不匹配。三行“汉堡包”按钮是嵌入在“蓝色容器”中,还是导航栏?带有三角形/警告图像的白色矩形...那是在“橙色容器”中吗?是“JT24 / 通用机器”和“显示器/您必须下来......”每个表都查看了部分标题?如果事情太复杂而无法在您的帖子中描述,请尝试创建一个最小的可重复示例,以便我们可以看看发生了什么。

答: 暂无答案