gpt4 book ai didi

ios - 忽略 IOS 中设置的设计时间约束

转载 作者:行者123 更新时间:2023-11-29 05:50:31 25 4
gpt4 key购买 nike

假设我在设计时为标签设置了约束,并且没有任何对这些约束的引用以供以后修改。假设我在设计时设置了 x 和 y 位置约束。当渲染此控件时,如果我使用frame.origin.x和frame.origin.y为x和y设置不同的值会怎样?这是否会覆盖我在设计时设置的约束,或者约束会战胜它?

最佳答案

我不太明白您对“设计时间约束”的理解,但这是约束如何工作的一般机制(并且行为全部与您的 View 的 autoresizing mask setting 有关):

  • translatesAutoresizingMaskIntoConstraints == false
    ⇒ 设置 View 框架不会产生任何影响,因为它将被下一个布局过程中的约束覆盖。

  • translatesAutoresizingMaskIntoConstraints == true
    ⇒ 设置 View 的框架会在幕后添加一些约束,以强制 View 具有框架的大小和位置。但是,重要的是要知道,在这种情况下,您不应向 View 添加任何其他约束,因为它们会与“框架约束”冲突。

如果您想了解详情,请查看▶️ this talk .

不久前我还在Medium上发表了一篇文章very granular explanations on the autoresizing mask这可能与您的问题非常相关(滚动到停用自动布局部分)。

<小时/>

注意:有一种方法可以让约束仅影响设计时的布局。您只需在 Interface Builder 中选择约束并选中占位符复选框即可。

Placeholder Checkbox

但据我所知,这不是你所说的。

关于ios - 忽略 IOS 中设置的设计时间约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55719588/

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