在应用程序上工作以显示设备状态,并使用SwiftUI按标签分组。我的主视图运行良好,显示了标签列表和相关设备的状态。我可以单击标签并打开一个新视图,以显示有关标签的信息和有关设备的一些信息。
我看过Programatically navigate to new view in SwiftUI 并收到错误消息“函数声明了不透明的返回类型,但是主体中没有可从中推断出基础类型的返回语句”
class MenuChoice: BindableObject {
let didChange = PassthroughSubject<MenuChoice, Never>()
let willChange = PassthroughSubject<MenuChoice, Never>()
func login() {
self.isSettingsViewActive = true
}
var isSettingsViewActive = false {
didSet {
didChange.send(self)
}
}
}
struct ViewMain: View {
@EnvironmentObject var menuChoice: MenuChoice
var body: some View {
if !menuChoice.isSettingsViewActive {
ViewSettings()
} else {
ViewMain2()
}
}
}
我希望选项(按钮)导航到: **高级设置视图,可以在其中配置总体设置 **仅针对设备信息的视图 **仅针对标签信息的视图
视图起作用,但是我找不到导航到视图然后从视图返回的方法。
SwiftUI可能还没有准备好?
答案 0 :(得分:0)
您需要将if语句放入容器中,例如:Group
struct ViewMain: View {
@EnvironmentObject var menuChoice: MenuChoice
var body: some View {
Group {
if !menuChoice.isSettingsViewActive {
ViewSettings()
} else {
ViewMain2()
}
}
}
}