使用SwiftUI,我创建了一个VStack,其中包含一些固定元素和一个list元素。原因是,用户仅应滚动固定元素下方的区域。现在,我看到第二个固定元素和列表之间有一个空格。我不知道这个空间是从哪里来的,并想摆脱它,但是不知道如何。该区域标记为红色。
struct DashboardView : View, CoreDataInjected {
var body: some View {
GeometryReader { geometry in
VStack {
ScopeSelectorView().frame(maxWidth: .infinity).background(ColorPalette.gray)
BalanceNumberView().frame(maxWidth: .infinity)
List {
DashboardNavigationView(
height: geometry.size.height - ScopeSelectorView.height - BalanceNumberView.height
).frame(maxWidth: .infinity).listRowInsets(.zero)
}
}
}.background(Color.red).edgesIgnoringSafeArea(.all)
}
}
Run Code Online (Sandbox Code Playgroud)
由于您没有将spacing参数传递给VStack,因此它将根据上下文选择默认间距。如果您不希望有空格,则显式传递0。
VStack(spacing: 0) {
// content here
}
Run Code Online (Sandbox Code Playgroud)
您可以offset在任何视图上使用修饰符,使每个内容分别看起来不同:
VStack {
Circle()
Circle().offset(x: 0, y: -20)
Circle().offset(x: 0, y: 40)
}
Run Code Online (Sandbox Code Playgroud)
请注意,它可能在两个方向上都是负数。
此外,VStack并HStack调用一个参数spacing,您可以将其设置为0或任何其他数字,您需要将其应用于所有元素。
VStack(spacing: 0) {
Circle()
Circle()
}
Run Code Online (Sandbox Code Playgroud)
请注意,如果需要, is 可能为负。
我用这个,
.padding(.top, -8)
Run Code Online (Sandbox Code Playgroud)
更详细的在这里,
VStack(spacing: 0) {
List { ...
}
VStack{ ... }.padding(.top, -8)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
324 次 |
| 最近记录: |