带有框架maxHeight和.infinity的SwiftUI视图布局

问题描述 投票:0回答:1

如何在SwiftUI中以这种方式布局视图

  1. 我有要扩展以填充可用空间的输入字段
  2. 此输入以我给他们frame(height: 40)的方式放置在VStack中>
  3. VStack
  4. 在具有frame(maxHeight: geometry.size.height * 0.8)的白框内

    并且最后一个白框没有调整VStack

中的输入数量,而是占用了[[0.8空间,然后此输入分散在VStack内部(添加了比所需更多的间距) 。>我不明白为什么会这样。

FormView() .frame( maxWidth: geometry.size.width * 0.85, maxHeight: geometry.size.height*0.85 )

表单视图包含:

VStack(spacing: 4) { FormInput(label: "First Name", input: self.$firstName) { isEditing in self.avoider.editingField = 0 } .frame(height: 40) .padding(0) .avoidKeyboard(tag: 0)

如何在SwiftUI中布局视图,我有一些输入字段,我想拉伸以填充可用空间。这些输入放在VStack中的方式是,我给它们提供框架(高度:40)...
] >

我发现了为什么有时View(布局)不会折叠以占用尽可能小的空间,而是扩展到maxHeigh / maxWidth的原因。

[在我们之间使用某个地方时发生

GeometryReader { geometry in VStack { ... } }

然后这些视图不会折叠并传播到maxHeight。我在.avoidKeyboard(tag: 0)中使用了这个GeometryReader
layout frame swiftui
1个回答
0
投票
我发现了为什么有时View(布局)不会折叠以占用尽可能小的空间,而是扩展到maxHeigh / maxWidth的原因。
© www.soinside.com 2019 - 2024. All rights reserved.