簡體   English   中英

參數類型 '()' 不符合預期類型 'View' SwiftUI?

[英]Argument type '()' does not conform to expected type 'View' SwiftUI?

我正在嘗試創建一個啟動屏幕,然后為 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()
                }
            }
        } 
    }
}

您不能在view執行代碼,但可以在該view onAppear中執行某些onAppear

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()
                }
            }
        }
    }
}

注意:我必須更改ContentContentView的名稱

我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM