我正在尝试创建一个启动屏幕,然后为mainMenu设置动画,但是出现标题中指定的错误。您可能会看到我正在尝试执行此操作。请帮忙。
struct Content: View {
@State var ShowMainMenu = false
var body: some View {
VStack {
if (ShowMainMenu) {
MainMenu()
} else {
ContentView(ToMainMenu: $ShowMainMenu)
}
}
}
}
struct ContentView: View {
@Binding var ToMainMenu:Bool
var body: some View {
VStack {
Text("I hate phone numbers")
DispatchQueue.main.asyncAfter(deadline: .now()+1.5) {
withAnimation {
self.ToMainMenu.toggle()
}
}
}
}
}
答案 0 :(得分:2)
您无法在view
中执行代码,但可以在onAppear
中的view
中执行某些操作:
struct ContentView: View {
@State var ShowMainMenu = false
var body: some View {
VStack {
if (ShowMainMenu) {
Text("Hello")
} else {
Content(ToMainMenu: $ShowMainMenu)
}
}
}
}
struct Content: View {
@Binding var ToMainMenu: Bool
var body: some View {
VStack {
Text("I hate phone numbers")
}.onAppear() {
DispatchQueue.main.asyncAfter(deadline: .now()+1.5) {
withAnimation {
self.ToMainMenu.toggle()
}
}
}
}
}
注意:我必须更改Content
和ContentView
的名称
我希望这会有所帮助。