【发布时间】:2021-04-15 06:46:22
【问题描述】:
我目前在SwiftUI 中与Navigation View 合作。
问题:我想使用 @State & @Binding 将 Navigation View Style 从 Descendent View 更改为。
@Binding var defaultNavigationStyle: Bool
var body: some View {
NavigationView {
sidebar
Text("Choose an Option from the Sidebar.")
Text("Select an Element.")
}
.navigationViewStyle(defaultNavigationStyle ? DefaultNavigationViewStyle() : StackNavigationViewStyle())
}
显然,这不起作用,因为元素具有不同的类型。 错误消息: '?:' 表达式中的结果值具有不匹配的类型 'DefaultNavigationViewStyle' 和 'StackNavigationViewStyle'
问题:如何使用@State & @Binding 更改Navigation View Style,而不创建一个完全不同的 NavigationView 并丢失所有 State?
【问题讨论】:
标签: swift swiftui navigation state navigationview