SwiftUI 中列表的左侧或 Center-Justifying 多行部分 Header
Left- or Center-Justifying Multiline Section Header for List in SwiftUI
这是我的代码:
struct ContentView: View {
var body: some View {
Form {
Section(header:
VStack {
Text("Header line 1")
Text("This is header line 2")
}) {
List {
Text("Item 1")
Text("Item 2")
Text("Item 3")
Text("Item 4")
}
}
}
}
}
问题是我无法让 header 部分的两行以相同的方式对齐或对齐。我希望它们都为 left-justified,但我希望它们也都位于屏幕中心。就这样,对齐有点奇怪,如下图:
如有任何建议,我们将不胜感激。
添加 VStack 对齐方式
Section(header:
VStack(alignment: .leading) { //<< here alignment
Text("Header line 1")
Text("This is header line 2")
})
对于寻找如何使其居中的任何人来说,这对我有用。要删除自动大写添加 .textCase(nil)
Section(header:
HStack {
Spacer()
VStack {
Text("Header line 1")
Text("This is header line 2")
}
Spacer()
}) {
}
.textCase(nil)
这是我的代码:
struct ContentView: View {
var body: some View {
Form {
Section(header:
VStack {
Text("Header line 1")
Text("This is header line 2")
}) {
List {
Text("Item 1")
Text("Item 2")
Text("Item 3")
Text("Item 4")
}
}
}
}
}
问题是我无法让 header 部分的两行以相同的方式对齐或对齐。我希望它们都为 left-justified,但我希望它们也都位于屏幕中心。就这样,对齐有点奇怪,如下图:
如有任何建议,我们将不胜感激。
添加 VStack 对齐方式
Section(header:
VStack(alignment: .leading) { //<< here alignment
Text("Header line 1")
Text("This is header line 2")
})
对于寻找如何使其居中的任何人来说,这对我有用。要删除自动大写添加 .textCase(nil)
Section(header:
HStack {
Spacer()
VStack {
Text("Header line 1")
Text("This is header line 2")
}
Spacer()
}) {
}
.textCase(nil)