Updated for Xcode 13.3
New in iOS 14
In iPadOS it’s possible to show not only a regular split view controller, but also to add a sidebar that can be shown with a button tap. In SwiftUI we accomplish this by adding a third view to a NavigationView
, like this:
struct ContentView: View {
var body: some View {
NavigationView {
Text("Sidebar")
Text("Primary View")
Text("Detail View")
}
}
}
Download this as an Xcode project
SwiftUI will automatically take care of showing a button to slide in your bar from the side of the screen, and also collapse it with your primary view if you’re in a compact size class.
If you’re presenting a list inside your sidebar, it’s a good idea to use the .listStyle()
to give it the system-standard theme for sidebars, like this:
struct ContentView: View {
var body: some View {
List(1..<100) { i in
Text("Row \(i)")
}
.listStyle(.sidebar)
}
}
Download this as an Xcode project
Important: If you’re using Xcode 12 you need to use SidebarListStyle()
rather than .sidebar
.
SPONSORED Fernando's book will guide you in fixing bugs in three real, open-source, downloadable apps from the App Store. Learn applied programming fundamentals by refactoring real code from published apps. Hacking with Swift readers get a $10 discount!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.