实战需求
SwiftUI UI高级技巧之View测算实现组件限定高度
本文价值与收获
看完本文后,您将能够作出下面的界面
看完本文您将掌握的技能
- 如何测算一个视图View的最大高度
- 如何限定多个组件的最大高度
- 如何设置组件内对齐方式
实战代码
1、使用SimpleSizeReader 测量组件大小
SimpleSizeReader { proxy in
}
2、测量组件数据并限定大小
VStack {
Text("设置共同高度顶部对齐")
.measure(proxy)
}
.frame(minHeight: proxy.maxHeight(), alignment: .top)
- .measure(proxy)测量视图的尺寸
- proxy.maxHeight()获得汇总测量的最大高度
- 使用minHeight,使其以nil开头,允许实际内容视图在布局允许的允许的情况下展开
- 理想情况下,渲染需要2次
- 第一次通过测量
- 第二次传球以应用最大高度
- 第二次通行证仍将测量,但由于测量结果与第一张相同,因此不会进行任何更改,因此不再进行渲染通