我想使用 SwiftUI 构建一个非常简单的 iOS 14 侧边栏。该设置是相当简单,我有三个观点HomeView,LibraryView与SettingsView和枚举代表每个屏幕。
enum Screen: Hashable {
case home, library, settings
}
Run Code Online (Sandbox Code Playgroud)
我的最终目标是根据大小类在选项卡视图和侧边栏之间自动切换,但有些事情并没有按预期工作。
全局状态由 拥有MainNavigationView,它也是 my 的根视图WindowGroup。
struct MainNavigationView: View {
@State var screen: Screen? = .home
var body: some View {
NavigationView {
SidebarView(state: $screen)
}
.navigationViewStyle(DoubleColumnNavigationViewStyle())
}
}
Run Code Online (Sandbox Code Playgroud)
这SidebarView是一个简单的List包含三个NavigationLink,每个一个Screen。
struct SidebarView: View {
@Binding var state: Screen?
var body: some View {
List {
NavigationLink(
destination: HomeView(), …Run Code Online (Sandbox Code Playgroud)