【发布时间】:2022-03-10 08:48:42
【问题描述】:
我正在观看 WWDC 2019 演讲 Building Custom Views with SwiftUI。 14:50 左右,他描述了布局的算法,他说“我们将空间分成 3 个相等的部分,并为 最不灵活的孩子的大小提出一个”。
父母(HStack)如何知道哪个孩子“最不灵活”?
到目前为止,我对 SwiftUI 中的布局算法的解释已经很清楚了——父视图向子视图提出了一个大小,子视图以他们想要的大小进行响应。在这种情况下,听起来每个孩子的一些其他属性在被建议给孩子们之前。但是该属性是什么?如何从代码中控制它?
【问题讨论】:
-
我认为是这样,但我找不到任何有关此想法的文档,父视图实际上向其所有子视图提出了大小。所有的孩子都回答父母,一些孩子以不太灵活的大小回答(例如,一个与其内容一样大的文本),而其他孩子则以更灵活的大小回答。然后,父母开始实际的尺寸调整过程,从最不灵活的孩子到最灵活的孩子。
-
@matteopuc,你能举一个具体的例子说明什么尺寸是 flexble ,什么尺寸是不那么灵活的?谢谢