【发布时间】:2019-12-05 15:43:08
【问题描述】:
我有这样的 VStack,里面有列表
VStack(alignment: .leading, spacing: 16) {
Text("Contacts")
.font(.custom("AvenirNext-DemiBold", size: 20))
.foregroundColor(Color("DarkTitle"))
.padding(8).layoutPriority(1)
List(self.contacts) { contact in
ContactOption(contact: contact)
.padding(.horizontal, 4)
} //.frame(height: 240)
}
此代码的问题在于,尽管只有 4 个联系人,但 List 会尝试尽可能多地扩展内容,从而占据整个屏幕。
我可以使用frame(height: 240)将此高度设置为固定值
我认为是否有可能强制 List 像 Text() 视图那样包装其内容。 即如果列表包装内容中有 4 行仅显示这 4 行,如果有 8 行扩展到这 8 行。然后我可以设置一些最大高度。 400 上面的 List 无法再展开,然后它将是可滚动的。
【问题讨论】:
-
我认为这是同一个问题stackoverflow.com/questions/58060530/…
标签: list swiftui swiftui-layout