gpt4 book ai didi

ios - 基于 `intrinsicContentSize` 的自动布局纵横比(不恒定)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:15:37 25 4
gpt4 key购买 nike

是否可以根据 intrinsicContentSize 动态计算宽高比来应用此类自动布局约束?在文档中,我发现只有固定比率值的约束。

intrinsicContentSize 的实际高度在我的用例中并不重要,我想保留动态变化的 View 的高度和宽度比例。

我应该提供我自己的约束实现吗?或者有更好的方法吗?

最佳答案

intrinsicContentSize 不可用作约束的输入。 (从逻辑上讲,存在实现 intrinsicContentSize 和相关的内容拥抱和抗压缩优先级的约束,但这是不同的。)

如果您想要这样的宽高比约束,则必须自己添加。在给定时刻查询 intrinsicContentSize 很容易,验证它是否为两个维度提供真实值(不是 NSViewNoInstrinsicMetric),计算纵横比,然后将其用作将项目的宽度与其高度相关联的约束中的乘数。

困难的部分是知道 intrinsicContentSize 何时失效,以便您可以删除旧的纵横比约束并添加新的。您可以通过覆盖 -invalidateIntrinsicContentSize 作为 View 的子类来执行此操作。 (一定要调用 super !)但是,我不知道从 Controller 或 super View 中可以做到这一点。

关于ios - 基于 `intrinsicContentSize` 的自动布局纵横比(不恒定),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29940000/

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