gpt4 book ai didi

ios - 自动布局不是那么自动

转载 作者:行者123 更新时间:2023-11-28 21:52:00 24 4
gpt4 key购买 nike

我有最基本的设置。见图一:

pic1

信不信由你,这是我使用 AutoLayout 的第一个项目,我之前已经通过编程创建了所有内容。这个基本设置实际上是一个 UIWebView,底部有 1 个自定义 UIView。以前我使用的是一个工具栏,它可以为我处理所有事情,并且没有任何约束问题。但是,当将 UILongPressGesture 添加到 UIBarButtonItem 的 subview 时,工具栏会产生事件处理差异,因此我决定将工具栏转换为 UIView (即使将 UIView 插入到工具栏中,它也会自然地转换为按钮项)以便于处理。但是在运行时, View 被推离屏幕一半的 UIView 大小 (48px) 参见图 2。然后当我添加按钮时,情况变得更糟:

pic2

我已经查看了文档和支持 HERE没有结果。我总共花了大约 24 小时研究它并学到了很多东西,所以我的努力​​没有白费。 我知道通过“添加缺失的约束”,这些约束只是基于当前设置的建议,它们并非在所有情况下都是具体的,所以我确实在查看后尝试使用控件拖动创建我自己的约束文档但我的设置没有得出不同的结果,而且更加草率。所以我决定在下面包含 Xcode 填充的约束:

UIWebView 约束

pic3

自定义 UIView (toolBar) 约束

pic4

有任何可靠的起点建议吗?内在尺寸与它有什么关系吗?

编辑:工作约束 我没有意识到您可以简单地省略一个约束。罪魁祸首似乎是在顶部布局指南中添加了一个。

pic 5

仅供回答者@Matt :

常量 0 结果:边缘有小缝隙

pic6

-16 表示前导空格/尾随空格,在我的案例中是真正的工具栏仿真,没有明显的警告或问题。谢谢

最佳答案

让我们谈谈界面底部的 View ,以及如何使用自动布局来定位和调整它的大小,就像工具栏的定位和大小一样。

要使用自动布局,您需要提供足够的信息来确定位置和大小。该 View 是 View Controller 主视图的 subview 。主视图将根据屏幕调整大小,因此我们也想使用自动布局来调整 subview (“工具栏”)的大小。这就是自动布局的用途!

因此,将 subview 前缘约束到父 View 的前缘,并将 subview 后缘约束到父 View 的后缘,两者的常量均为0。现在左右边缘匹配 super View !

这会处理水平位置和大小。

现在我们来谈谈垂直位置。位置应该是底部。因此,将 subview 底部边缘限制到 View Controller 的底部布局指南,再次使用 constant 0。现在 View 底部位于底部!

我们唯一不知道的是 subview 的顶部。在我们的情况下,这与知道它的高度相同。所以给 subview 一个高度约束,将它的 constant 设置为一个合理的值,比如 40,你就完成了。

关于ios - 自动布局不是那么自动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27991893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com