Tam*_*mas 4 swiftui swiftui-list swiftui-navigationview
当我将List
分组嵌入到Section
s 中时NavigationView
,部分标题变得可折叠。我想让它们不可折叠,就像List
未嵌入NavigationView
.
我当前的代码(使用 NavigationView):
import SwiftUI
struct MyGroup {
var name:String, items:[String]
}
struct ContentView: View {
var groups : [MyGroup] = [
.init(name: "Animals", items: ["","","","","","","",""]),
.init(name: "Vehicles", items: ["","","","","","","","??"])]
var body: some View {
NavigationView {
VStack {
List {
ForEach(groups, id: \.self.name) { group in
Section(header: Text(group.name)) {
ForEach(group.items, id:\.self) { item in
Text(item)
}
}
}
}
}.navigationTitle("collections")
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Run Code Online (Sandbox Code Playgroud)
它是应用的默认样式,您可以将其明确设置为List
如下所示(使用 Xcode 12 / iOS 14 测试)
List {
ForEach(groups, id: \.self.name) { group in
Section(header: Text(group.name)) {
ForEach(group.items, id:\.self) { item in
Text(item)
}
}
}
}.listStyle(InsetGroupedListStyle()) // or GroupedListStyle
Run Code Online (Sandbox Code Playgroud)
从 iOS 17 开始,部分不再可折叠(在 Xcode 15b2 上)。
要启用折叠/展开行为:
public init(isExpanded: Binding<Bool>, @ViewBuilder content: () -> Content, @ViewBuilder header: () -> Parent)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
987 次 |
最近记录: |