1. ホーム
  2. swift

[解決済み] SwiftUIで条件付きでビューを使用する

2022-10-11 06:43:09

質問

swiftui でビューを条件付きでインクルードするための正しい方法を見つけようとしています。私は if を直接ビューの中で使うことができず、スタックビューを使う必要がありました。 スタックビューを使用する必要がありました。

これは動作しますが、よりクリーンな方法があるように思えます。

var body: some View {
    HStack() {
        if keychain.get("api-key") != nil {
            TabView()
        } else {
            LoginView()
        }
    }
}

どのように解決するのですか?

のような余分なコンテナを使用しないようにする最も簡単な方法は HStack のような余分なコンテナの使用を避けるための最も簡単な方法は、 アノテーションを body というプロパティを @ViewBuilder のような、このような。

@ViewBuilder
var body: some View {
    if user.isLoggedIn {
        MainView()
    } else {
        LoginView()
    }
}