【发布时间】:2021-04-21 01:46:11
【问题描述】:
为什么三个蓝色矩形和列表之间有这么大的空间?如何删除空间以便 VStack 堆栈中的所有视图位于顶部?我尝试在列表之后直接使用Spacer(),但没有任何改变。
struct ContentView: View {
init() { UITableView.appearance().backgroundColor = UIColor.clear }
var body: some View {
NavigationView {
ZStack {
Color.red
.ignoresSafeArea()
VStack {
HStack {
Text("Faux Title")
.font(.system(.largeTitle, design: .rounded))
.fontWeight(.heavy)
Spacer()
Button(action: {
// settings
}, label: {
Image(systemName: "gearshape.fill")
.font(.system(.title2))
})
}
.padding()
GeometryReader { geometry in
HStack() {
Text("1")
.frame(width: geometry.size.width * 0.30, height: 150)
.background(Color.blue)
Spacer()
Text("2")
.frame(width: geometry.size.width * 0.30, height: 150)
.background(Color.blue)
Spacer()
Text("3")
.frame(width: geometry.size.width * 0.30, height: 150)
.background(Color.blue)
}
}
.padding()
List {
Text("One")
Text("Two")
Text("Three")
Text("Four")
Text("Five")
Text("Six")
}
.listStyle(InsetGroupedListStyle())
}
}
.navigationBarHidden(true)
}
}
}
额外问题:在网页开发中,您可以打开浏览器的网页检查器并使用元素选择器单击突出显示其边框的元素。对于这样的事情很有用,你试图找出有问题的间距属于哪个元素。 Xcode 中有类似的东西吗?
【问题讨论】:
标签: swiftui swiftui-list