gpt4 book ai didi

ios - 使用自定义 XIB 时 UIStackView 失去约束

转载 作者:行者123 更新时间:2023-11-30 11:19:27 27 4
gpt4 key购买 nike

我正在尝试将 View 动态添加到 UIStackView

我有一个 XIB,其中有一个全屏 UIStackView。然后我有一些 View - 标签和文本字段/ TextView 。

这里的想法是,我有一个类来管理这些单独的 View ,并且该类有它自己的布局 XIB 文件。

因此,处理最外层 UIStackView 的类将从各个类中获取布局,并将其作为 subview 添加到 UIStackView 中。

当尝试执行此操作时, View 会显得被压扁,并且不符合原始约束。

我可以提供代码,但我会解释限制。

外部 UIStackView 只是拉伸(stretch)为全屏,并具有分布填充和等间距。

“内部” View 的一个例子是标签。我有一个单独的 XIB 文件,其中包含一个 UIView 和一个 Label 。标签固定在 UIView 的中心。

我认为问题在于向现有 UIStackView 添加自定义 XIB。我不确定我需要提供/需要多少信息,但我怀疑我遗漏了一些东西,有人可能会立即从所提供的信息中发现。

感谢任何帮助。谢谢。

最佳答案

UIStackView 完全按照您的要求执行。如果设置了约束,使 UIStackView 填充整个屏幕,那么您需要提供内容,当它在屏幕上均等划分时,具有预期的布局,插入的每个 View 将被调整为相同大小。

如果您不知道将使用多少个 View ,但需要每个 View 在屏幕上采用各自的宽高比,那么您可以使用“按比例填充”选项。 UIStackView 会将每个 View 的高度相加,然后除以自己的高度并按比例分配给每个 View 。如果您添加太多 View ,这也会开始压缩您的 View 。

为了避免此类问题,您可能希望将 UIStackView 放入 UIScrollView 中。然后,您设置一个优先级非常低的约束,将 UIStackView 高度设置为 0,当您插入 View 时,UIStackView 将自动调整大小以适应不同的 View 。

祝你好运!

关于ios - 使用自定义 XIB 时 UIStackView 失去约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51441612/

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