gpt4 book ai didi

ios - 为什么 Xcode 只在设置另一个约束后才提示缺少约束

转载 作者:行者123 更新时间:2023-12-01 19:54:49 26 4
gpt4 key购买 nike

帮助我理解:

当您在界面构建器中放置任何 View 时,Xcode 不会提示缺少约束或不明确的规则。只有一次设置 一些限制 (但并非全部消除所有歧义), Xcode 会通知 你缺少约束并提出一些建议。

例如:我为一个 View 设置了一个约束,它在 super View 中水平居中。现在 Xcode 提示 Y 位置缺少规则。
当您没有任何约束时,为什么它不只是从当前的 X-Postition 中推断出来呢?

最佳答案

这是因为在向 View 添加约束之前,Xcode 会看到它,就好像您希望 View 位于确切的 X、Y 位置一样。这意味着无论容器大小, View 将始终处于精确坐标并具有相同大小。

但是,在添加了一些约束之后,这意味着您希望 View 根据容器大小(这就是 autolayout 的用途)改变其大小或位置,因此您添加的约束必须为 Xcode 提供足够的信息来确定它的框架。

例如,如果您只添加 Horizontally in Container如果没有指定其大小或 Y 坐标的约束,Xcode 无法告诉您要将 View 放置在哪里。这就是您收到警告的原因。

至于您提到的示例,如果您将 View 设置为在容器中水平居中,随着容器的宽度变大,Xcode 无法判断您更喜欢哪一个:

  • 保持在相同的 X 位置并增加 View 的宽度。
  • 保留大小并增加 X。

  • 增加容器的高度也会面临类似的问题。

    希望解释有帮助:)

    Example Photo

    关于ios - 为什么 Xcode 只在设置另一个约束后才提示缺少约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43306429/

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