.all(枚举)
我有一个带有SideBar和MainView的内容视图。我想控制SideBar的宽度。我该怎么做?因此,我使用的代码以及无法正常运行的代码。导航视图的宽度比NavBarView的宽。
struct ContentView: View {
// .....
var body: some View {
HStack{
NavigationView {
SideBarView_HWS().frame(minWidth: 200,idealWidth: 250,maxWidth: 260, maxHeight: .infinity )
BodyInfoStartView()
} // .frame(minWidth: 200,idealWidth: 250,maxWidth: 260, maxHeight: .infinity ) <<< this isn't working
}
}
}
struct SideBarView_HWS: View {
//....
@State private var clientExpanded: Bool = true
@State var selection: String?
var body: some View {
VStack {
List(selection: $selection) {
ForEach(agendaItems, id: \.self) { string in
NavigationLink(destination: AgendaFrameView(description: string)) {
Text(string)
}
}
NavBarSection2()
}
.listStyle(SidebarListStyle())
Divider()
DisclosureGroup("Show some Text", isExpanded: $clientExpanded) {
Text("Some Text...")
.padding()
Text("Hello, Mars!").padding()
}
.padding()
Divider()
Text( "<Moonwalker is walking>")
}
}
}
BTW NavBarSection2只是另一个带有导航链接的ForEach。 我的目标是我需要具有相同的maxWidth约束的sideBar和NavigationView。如果将.frame添加到navigationView,则NavigationView和SideBar消失。如果我仅对SideBar使用Width约束的.frame,那么只有sideBar会缩小到正确的大小,但NavigationView会保持其过宽的大小。它有一些未使用的不需要的空间。
我该如何解决?适用于iPadOS(不是iPhone)