gpt4 book ai didi

cocoa - 使用自动布局来定位自动调整大小的 View

转载 作者:行者123 更新时间:2023-12-03 17:39:26 25 4
gpt4 key购买 nike

我有一个自定义 View ,它实现 sizeThatFits: 并偶尔调整自身大小(它根据宽度调整其高度)。我想使用自动布局将此 View (“A”)放置在其同级 View (“B”)上方,因此我有一个约束,将 A 的底部设置为等于 B 的顶部。

当 A 的坐标系确实增大和缩小时,B 的坐标系却不会随之移动。实现可与自动布局一起使用的自调整大小 View 的推荐方法是什么?

最佳答案

您不能手动设置A的大小;这会击败自动布局(并且当布局发生时自动布局将覆盖它)。您必须实现此 View 的 intrinsicContentSize 并使用它来指定 View 的大小。现在,当需要调整 A 的大小时,调用其 invalidateIntrinsicContentSize。这将导致执行布局。 intrinsicContentSize 将被调用,并且约束将起作用(因为布局正在按良好的顺序执行)。

还有一件事:听起来您可能没有充分确定这里的限制。你不能只将 A 置于 B 之上;除了它的大小之外,您还必须说出它的顶部和左侧(或其中心,水平和/或垂直)。换句话说,一旦你进行了自动布局,你就必须一直这样做。否则事情不会如你所期望的那样发生。

关于cocoa - 使用自动布局来定位自动调整大小的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22572125/

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