【发布时间】:2021-08-24 16:03:37
【问题描述】:
我是 SwiftUI 的新手,遇到了一个非常令人不安的问题。
我创建了一些自定义视图,这些视图在预览中以正确的高度显示。当我尝试将它们添加到 VStack 中时,它们的行为就像我设置的 .frame(minHeight: 0, maxHeight: .infinity) 一样。在自定义视图后添加Spacer(),在VStack 内,不能解决问题。
我事先不知道这些视图的大小,所以我无法设置固定的帧大小,我能做些什么来防止这种行为吗?我什至考虑过计算它们的内容大小并相应地应用固定大小,但这听起来像是开发者的噩梦:|
感谢阅读,感谢您的帮助!
编辑:引发问题的最简单代码:
VStack {
ChipGroup(chips: [
Chip(titleKey: "Chip"),
Chip(titleKey: "Chip"),
Chip(titleKey: "Chip"),
Chip(titleKey: "Chip"),
Chip(titleKey: "Chip"),
Chip(titleKey: "Chip"),
Chip(titleKey: "Chip")
])
Spacer()
}
Chip & ChipGroup 基于以下教程:https://prafullkumar77.medium.com/swiftui-building-chips-with-autolayout-container-dbca53bbb848
【问题讨论】:
-
显示你的代码。