在iPad和纵向模式下使用SwiftUI显示侧边栏,你可以使用NavigationView
结合List
来实现。以下是一个简单的示例代码,展示了如何创建一个带有侧边栏的应用程序:
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
List {
ForEach(0..<10) { index in
Text("Item \(index)")
}
}
.listStyle(SidebarListStyle())
.frame(minWidth: 200, idealWidth: 250, maxWidth: 300)
Text("Main Content")
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color(UIColor.systemBackground))
}
.frame(minWidth: 1024, idealWidth: 1024, maxWidth: .infinity, minHeight: 768, idealHeight: 768, maxHeight: .infinity)
.navigationViewStyle(DoubleColumnNavigationViewStyle())
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
Group {
ContentView()
.previewInterfaceOrientation(.portrait)
ContentView()
.previewInterfaceOrientation(.landscape)
}
}
}
List
添加侧边栏样式。NavigationView
。listStyle(SidebarListStyle())
并且使用了DoubleColumnNavigationViewStyle()
。.frame
来调整视图的尺寸。LazyVGrid
来优化性能。通过以上代码和解释,你应该能够在iPad和纵向模式下成功显示侧边栏。
领取专属 10元无门槛券
手把手带您无忧上云