今天我试图在 2 个不同的视图之间导航,但我想使用相同的视图来清理前一个视图中的信息。我创建了一个 MotherView 来调用 2 个不同的视图。这是我的代码
import SwiftUI
struct MotherView: View {
@ObservedObject var viewRouter: ViewRouter
var body: some View {
VStack {
if viewRouter.currentPage == "splash" {
SplashView()
} else{
ContentView()
}
}
}
}
struct MotherView_Previews : PreviewProvider {
static var previews: some View {
MotherView(viewRouter: ViewRouter())
}
}
这是我的启动画面:
struct SplashView: View {
@State private var isAnimated = true
@EnvironmentObject var pageSettings: PageSettings
var body: some View {
VStack{
LottieView(filename:"Logo")
pageSettings.currentPage = "content"
}
}
}
注意 SplashView() 是一个使用 Lottie 的动画视图,而 ContentView() 是我登录的一个视图。我想使用我的 SplashView() 启动我的应用程序,然后清理 VStack 并运行 ContentView()。
那可能吗?谢谢!
这是此代码的最后一次更新(我收到此错误:“参数类型'()'不符合预期的类型'视图'”)
struct SplashView: View {
@State private var animated = false
@EnvironmentObject var pageSettings: PageSettings
var body: some View {
VStack{
if self.animated{
pageSettings.currentPage = "content"
}else{
LottieView()
}
}
}
}